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 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" To: Dan Williams 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 List-Id: linux-nvdimm@lists.01.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. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752145AbdJTIAy (ORCPT ); Fri, 20 Oct 2017 04:00:54 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:55324 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751927AbdJTIAx (ORCPT ); Fri, 20 Oct 2017 04:00:53 -0400 Date: Fri, 20 Oct 2017 01:00:49 -0700 From: Christoph Hellwig To: Dan Williams Cc: Christoph Hellwig , Stefan Hajnoczi , Pankaj Gupta , Kevin Wolf , haozhong zhang , Jan Kara , xiaoguangrong eric , KVM list , David Hildenbrand , linux-nvdimm , ross zwisler , "linux-kernel@vger.kernel.org" , Qemu Developers , Linux MM , Stefan Hajnoczi , Paolo Bonzini , Nitesh Narayan Lal Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver 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-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.3 (2017-05-23) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id BAB286B0038 for ; Fri, 20 Oct 2017 04:01:02 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id z80so9148943pff.11 for ; Fri, 20 Oct 2017 01:01:02 -0700 (PDT) Received: from bombadil.infradead.org (bombadil.infradead.org. [65.50.211.133]) by mx.google.com with ESMTPS id r1si379954pgo.519.2017.10.20.01.01.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Oct 2017 01:01:01 -0700 (PDT) Date: Fri, 20 Oct 2017 01:00:49 -0700 From: Christoph Hellwig Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver 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-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Dan Williams Cc: Christoph Hellwig , Stefan Hajnoczi , Pankaj Gupta , Kevin Wolf , haozhong zhang , Jan Kara , xiaoguangrong eric , KVM list , David Hildenbrand , linux-nvdimm , ross zwisler , "linux-kernel@vger.kernel.org" , Qemu Developers , Linux MM , Stefan Hajnoczi , Paolo Bonzini , Nitesh Narayan Lal 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: email@kvack.org