From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver Date: Fri, 20 Oct 2017 01:00:49 -0700 Message-ID: <20171020080049.GA25471@infradead.org> References: <20171012155027.3277-1-pagupta@redhat.com> <20171012155027.3277-3-pagupta@redhat.com> <20171017071633.GA9207@infradead.org> <1441791227.21027037.1508226056893.JavaMail.zimbra@redhat.com> <20171017080236.GA27649@infradead.org> <670833322.21037148.1508229041158.JavaMail.zimbra@redhat.com> <20171018130339.GB29767@stefanha-x1.localdomain> <20171019080149.GB10089@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Kevin Wolf , Jan Kara , xiaoguangrong eric , KVM list , Pankaj Gupta , Stefan Hajnoczi , David Hildenbrand , ross zwisler , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Qemu Developers , Christoph Hellwig , Linux MM , Stefan Hajnoczi , linux-nvdimm , Paolo Bonzini , Nitesh Narayan Lal To: Dan Williams Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" List-Id: kvm.vger.kernel.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.