All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
To: Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Kevin Wolf <kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>,
	xiaoguangrong eric
	<xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	KVM list <kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Pankaj Gupta <pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Stefan Hajnoczi
	<stefanha-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	David Hildenbrand <david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	ross zwisler
	<ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Qemu Developers
	<qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org>,
	Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Linux MM <linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
	Stefan Hajnoczi
	<stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-nvdimm
	<linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org>,
	Paolo Bonzini <pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Nitesh Narayan Lal
	<nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver
Date: Fri, 20 Oct 2017 01:00:49 -0700	[thread overview]
Message-ID: <20171020080049.GA25471@infradead.org> (raw)
In-Reply-To: <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Thu, Oct 19, 2017 at 11:21:26AM -0700, Dan Williams wrote:
> The difference is that nvdimm_flush() is not mandatory, and that the
> platform will automatically perform the same flush at power-fail.
> Applications should be able to assume that if they are using MAP_SYNC
> that no other coordination with the kernel or the hypervisor is
> necessary.
> 
> Advertising this as a generic Persistent Memory range to the guest
> means that the guest could theoretically use it with device-dax where
> there is no driver or filesystem sync interface. The hypervisor will
> be waiting for flush notifications and the guest will just issue cache
> flushes and sfence instructions. So, as far as I can see we need to
> differentiate this virtio-model from standard "Persistent Memory" to
> the guest and remove the possibility of guests/applications making the
> wrong assumption.

So add a flag that it is not.  We already have the nd_volatile type,
that is special.  For now only in Linux, but I think adding this type
to the spec eventually would be very useful for efficiently exposing
directly mappable device to VM guests.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@infradead.org>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Pankaj Gupta <pagupta@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
	haozhong zhang <haozhong.zhang@intel.com>,
	Jan Kara <jack@suse.cz>,
	xiaoguangrong eric <xiaoguangrong.eric@gmail.com>,
	KVM list <kvm@vger.kernel.org>,
	David Hildenbrand <david@redhat.com>,
	linux-nvdimm <linux-nvdimm@ml01.01.org>,
	ross zwisler <ross.zwisler@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Qemu Developers <qemu-devel@nongnu.org>,
	Linux MM <linux-mm@kvack.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver
Date: Fri, 20 Oct 2017 01:00:49 -0700	[thread overview]
Message-ID: <20171020080049.GA25471@infradead.org> (raw)
In-Reply-To: <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg@mail.gmail.com>

On Thu, Oct 19, 2017 at 11:21:26AM -0700, Dan Williams wrote:
> The difference is that nvdimm_flush() is not mandatory, and that the
> platform will automatically perform the same flush at power-fail.
> Applications should be able to assume that if they are using MAP_SYNC
> that no other coordination with the kernel or the hypervisor is
> necessary.
> 
> Advertising this as a generic Persistent Memory range to the guest
> means that the guest could theoretically use it with device-dax where
> there is no driver or filesystem sync interface. The hypervisor will
> be waiting for flush notifications and the guest will just issue cache
> flushes and sfence instructions. So, as far as I can see we need to
> differentiate this virtio-model from standard "Persistent Memory" to
> the guest and remove the possibility of guests/applications making the
> wrong assumption.

So add a flag that it is not.  We already have the nd_volatile type,
that is special.  For now only in Linux, but I think adding this type
to the spec eventually would be very useful for efficiently exposing
directly mappable device to VM guests.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@infradead.org>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Pankaj Gupta <pagupta@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
	haozhong zhang <haozhong.zhang@intel.com>,
	Jan Kara <jack@suse.cz>,
	xiaoguangrong eric <xiaoguangrong.eric@gmail.com>,
	KVM list <kvm@vger.kernel.org>,
	David Hildenbrand <david@redhat.com>,
	linux-nvdimm <linux-nvdimm@ml01.01.org>,
	ross zwisler <ross.zwisler@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Qemu Developers <qemu-devel@nongnu.org>,
	Linux MM <linux-mm@kvack.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver
Date: Fri, 20 Oct 2017 01:00:49 -0700	[thread overview]
Message-ID: <20171020080049.GA25471@infradead.org> (raw)
In-Reply-To: <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg@mail.gmail.com>

On Thu, Oct 19, 2017 at 11:21:26AM -0700, Dan Williams wrote:
> The difference is that nvdimm_flush() is not mandatory, and that the
> platform will automatically perform the same flush at power-fail.
> Applications should be able to assume that if they are using MAP_SYNC
> that no other coordination with the kernel or the hypervisor is
> necessary.
> 
> Advertising this as a generic Persistent Memory range to the guest
> means that the guest could theoretically use it with device-dax where
> there is no driver or filesystem sync interface. The hypervisor will
> be waiting for flush notifications and the guest will just issue cache
> flushes and sfence instructions. So, as far as I can see we need to
> differentiate this virtio-model from standard "Persistent Memory" to
> the guest and remove the possibility of guests/applications making the
> wrong assumption.

So add a flag that it is not.  We already have the nd_volatile type,
that is special.  For now only in Linux, but I think adding this type
to the spec eventually would be very useful for efficiently exposing
directly mappable device to VM guests.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2017-10-20  8:00 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-12 15:50 [RFC 0/2] KVM "fake DAX" device flushing Pankaj Gupta
2017-10-12 15:50 ` [Qemu-devel] " Pankaj Gupta
2017-10-12 15:50 ` Pankaj Gupta
2017-10-12 15:50 ` [RFC 1/2] pmem: Move reusable code to base header files Pankaj Gupta
2017-10-12 15:50   ` [Qemu-devel] " Pankaj Gupta
2017-10-12 15:50   ` Pankaj Gupta
2017-10-12 20:42   ` Dan Williams
2017-10-12 20:42     ` [Qemu-devel] " Dan Williams
2017-10-12 20:42     ` Dan Williams
2017-10-12 21:27     ` [Qemu-devel] " Pankaj Gupta
2017-10-12 21:27       ` Pankaj Gupta
     [not found] ` <20171012155027.3277-1-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-12 15:50   ` [RFC 2/2] KVM: add virtio-pmem driver Pankaj Gupta
2017-10-12 15:50     ` [Qemu-devel] " Pankaj Gupta
2017-10-12 15:50     ` Pankaj Gupta
2017-10-12 15:50     ` Pankaj Gupta
2017-10-12 20:51     ` Dan Williams
2017-10-12 20:51       ` [Qemu-devel] " Dan Williams
2017-10-12 20:51       ` Dan Williams
2017-10-12 21:25       ` Pankaj Gupta
2017-10-12 21:25         ` [Qemu-devel] " Pankaj Gupta
2017-10-12 21:25         ` Pankaj Gupta
2017-10-12 21:54         ` Dan Williams
2017-10-12 21:54           ` [Qemu-devel] " Dan Williams
2017-10-12 21:54           ` Dan Williams
     [not found]           ` <CAPcyv4gkri7t+3Unf0sc9AHMnz-v9G_qV_bJppLjUUNAn7drrQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-12 22:18             ` Pankaj Gupta
2017-10-12 22:18               ` [Qemu-devel] " Pankaj Gupta
2017-10-12 22:18               ` Pankaj Gupta
2017-10-12 22:18               ` Pankaj Gupta
2017-10-12 22:27               ` Rik van Riel
2017-10-12 22:27                 ` [Qemu-devel] " Rik van Riel
2017-10-12 22:27                 ` Rik van Riel
2017-10-12 22:27                 ` Rik van Riel
2017-10-12 22:27                 ` Rik van Riel
2017-10-12 22:39                 ` Pankaj Gupta
2017-10-12 22:39                   ` [Qemu-devel] " Pankaj Gupta
2017-10-12 22:39                   ` Pankaj Gupta
2017-10-12 22:52                 ` Pankaj Gupta
2017-10-12 22:52                   ` [Qemu-devel] " Pankaj Gupta
2017-10-12 22:52                   ` Pankaj Gupta
2017-10-12 22:59                   ` Dan Williams
2017-10-12 22:59                     ` [Qemu-devel] " Dan Williams
2017-10-12 22:59                     ` Dan Williams
2017-10-12 23:07                     ` Pankaj Gupta
2017-10-12 23:07                       ` [Qemu-devel] " Pankaj Gupta
2017-10-12 23:07                       ` Pankaj Gupta
2017-10-13  9:44     ` Stefan Hajnoczi
2017-10-13  9:44       ` [Qemu-devel] " Stefan Hajnoczi
2017-10-13  9:44       ` Stefan Hajnoczi
2017-10-13 10:48       ` Pankaj Gupta
2017-10-13 10:48         ` [Qemu-devel] " Pankaj Gupta
2017-10-13 10:48         ` Pankaj Gupta
     [not found]         ` <24301306.20068579.1507891695416.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-16 14:47           ` Stefan Hajnoczi
2017-10-16 14:47             ` [Qemu-devel] " Stefan Hajnoczi
2017-10-16 14:47             ` Stefan Hajnoczi
2017-10-16 14:47             ` Stefan Hajnoczi
2017-10-16 15:58             ` Dan Williams
2017-10-16 15:58               ` [Qemu-devel] " Dan Williams
2017-10-16 15:58               ` Dan Williams
2017-10-16 17:04             ` Pankaj Gupta
2017-10-16 17:04               ` [Qemu-devel] " Pankaj Gupta
2017-10-16 17:04               ` Pankaj Gupta
     [not found]       ` <20171013094431.GA27308-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2017-10-13 15:25         ` Dan Williams
2017-10-13 15:25           ` [Qemu-devel] " Dan Williams
2017-10-13 15:25           ` Dan Williams
2017-10-13 15:25           ` Dan Williams
     [not found]     ` <20171012155027.3277-3-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-17  7:16       ` Christoph Hellwig
2017-10-17  7:16         ` [Qemu-devel] " Christoph Hellwig
2017-10-17  7:16         ` Christoph Hellwig
2017-10-17  7:16         ` Christoph Hellwig
2017-10-17  7:40         ` [Qemu-devel] " Pankaj Gupta
2017-10-17  7:40           ` Pankaj Gupta
2017-10-17  8:02           ` Christoph Hellwig
2017-10-17  8:02             ` Christoph Hellwig
2017-10-17  8:30             ` Pankaj Gupta
2017-10-17  8:30               ` Pankaj Gupta
2017-10-18 13:03               ` Stefan Hajnoczi
2017-10-18 13:03                 ` Stefan Hajnoczi
2017-10-18 15:51                 ` Dan Williams
2017-10-18 15:51                   ` Dan Williams
     [not found]                   ` <CAPcyv4h6aFkyHhh4R4DTznbSCLf9CuBoszk0Q1gB5EKNcp_SeQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-19  8:01                     ` Stefan Hajnoczi
2017-10-19  8:01                       ` Stefan Hajnoczi
2017-10-19  8:01                       ` Stefan Hajnoczi
2017-10-19  8:01                   ` Christoph Hellwig
2017-10-19  8:01                     ` Christoph Hellwig
     [not found]                     ` <20171019080149.GB10089-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-10-19 18:21                       ` Dan Williams
2017-10-19 18:21                         ` Dan Williams
2017-10-19 18:21                         ` Dan Williams
     [not found]                         ` <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-20  8:00                           ` Christoph Hellwig [this message]
2017-10-20  8:00                             ` Christoph Hellwig
2017-10-20  8:00                             ` Christoph Hellwig
     [not found]                             ` <20171020080049.GA25471-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-10-20 15:05                               ` Dan Williams
2017-10-20 15:05                                 ` Dan Williams
2017-10-20 15:05                                 ` Dan Williams
2017-10-20 16:06                                 ` Christoph Hellwig
2017-10-20 16:06                                   ` Christoph Hellwig
2017-10-20 16:11                                   ` Dan Williams
2017-10-20 16:11                                     ` Dan Williams
2017-10-12 15:50 ` [RFC] QEMU: Add virtio pmem device Pankaj Gupta
2017-10-12 15:50   ` [Qemu-devel] " Pankaj Gupta
2017-10-12 15:50   ` Pankaj Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171020080049.GA25471@infradead.org \
    --to=hch-wegcikhe2lqwvfeawa7xhq@public.gmane.org \
    --cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=jack-AlSwsSmVLrQ@public.gmane.org \
    --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org \
    --cc=nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
    --cc=ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=stefanha-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.