From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Hajnoczi Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver Date: Wed, 18 Oct 2017 15:03:39 +0200 Message-ID: <20171018130339.GB29767@stefanha-x1.localdomain> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <670833322.21037148.1508229041158.JavaMail.zimbra@redhat.com> Sender: owner-linux-mm@kvack.org To: Pankaj Gupta Cc: Christoph Hellwig , kwolf@redhat.com, haozhong zhang , jack@suse.cz, xiaoguangrong eric , kvm@vger.kernel.org, david@redhat.com, linux-nvdimm@ml01.01.org, ross zwisler , linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, linux-mm@kvack.org, stefanha@redhat.com, pbonzini@redhat.com, dan j williams , nilal@redhat.com List-Id: linux-nvdimm@lists.01.org On Tue, Oct 17, 2017 at 04:30:41AM -0400, Pankaj Gupta wrote: > > > > Are you saying do it as existing i.e ACPI pmem like interface? > > > The reason we have created this new driver is exiting pmem driver > > > does not define proper semantics for guest flushing requests. > > > > At this point I'm caring about the Linux-internal interface, and > > for that it should be integrated into the nvdimm subsystem and not > > a block driver. How the host <-> guest interface looks is a different > > idea. > > > > > > > > Regarding block support of driver, we want to achieve DAX support > > > to bypass guest page cache. Also, we want to utilize existing DAX > > > capable file-system interfaces(e.g fsync) from userspace file API's > > > to trigger the host side flush request. > > > > Well, if you want to support XFS+DAX better don't make it a block > > devices, because I'll post patches soon to stop using the block device > > entirely for the DAX case. > > o.k I will look at your patches once they are in mailing list. > Thanks for the heads up. > > If I am guessing it right, we don't need block device additional features > for pmem? We can bypass block device features like blk device cache flush etc. > Also, still we would be supporting ext4 & XFS filesystem with pmem? > > If there is time to your patches can you please elaborate on this a bit. I think the idea is that the nvdimm subsystem already adds block device semantics on top of the struct nvdimms that it manages. See drivers/nvdimm/blk.c. So it would be cleaner to make virtio-pmem an nvdimm bus. This will eliminate the duplication between your driver and drivers/nvdimm/ code. Try "git grep nvdimm_bus_register" to find drivers that use the nvdimm subsystem. The virtio-pmem driver could register itself similar to the existing ACPI NFIT and BIOS e820 pmem drivers. Stefan -- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753101AbdJRNDr (ORCPT ); Wed, 18 Oct 2017 09:03:47 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:55330 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753066AbdJRNDn (ORCPT ); Wed, 18 Oct 2017 09:03:43 -0400 X-Google-Smtp-Source: ABhQp+R4utEHeBYcfDgg8rREjB644400ru+KjOmOfYgi3OI8MwPQ090DF7ncpFw3K1x8V8S0NsLUmQ== Date: Wed, 18 Oct 2017 15:03:39 +0200 From: Stefan Hajnoczi To: Pankaj Gupta Cc: Christoph Hellwig , kwolf@redhat.com, haozhong zhang , jack@suse.cz, xiaoguangrong eric , kvm@vger.kernel.org, david@redhat.com, linux-nvdimm@ml01.01.org, ross zwisler , linux-kernel@vger.kernel.org, qemu-devel@nongnu.org, linux-mm@kvack.org, stefanha@redhat.com, pbonzini@redhat.com, dan j williams , nilal@redhat.com Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver Message-ID: <20171018130339.GB29767@stefanha-x1.localdomain> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <670833322.21037148.1508229041158.JavaMail.zimbra@redhat.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 17, 2017 at 04:30:41AM -0400, Pankaj Gupta wrote: > > > > Are you saying do it as existing i.e ACPI pmem like interface? > > > The reason we have created this new driver is exiting pmem driver > > > does not define proper semantics for guest flushing requests. > > > > At this point I'm caring about the Linux-internal interface, and > > for that it should be integrated into the nvdimm subsystem and not > > a block driver. How the host <-> guest interface looks is a different > > idea. > > > > > > > > Regarding block support of driver, we want to achieve DAX support > > > to bypass guest page cache. Also, we want to utilize existing DAX > > > capable file-system interfaces(e.g fsync) from userspace file API's > > > to trigger the host side flush request. > > > > Well, if you want to support XFS+DAX better don't make it a block > > devices, because I'll post patches soon to stop using the block device > > entirely for the DAX case. > > o.k I will look at your patches once they are in mailing list. > Thanks for the heads up. > > If I am guessing it right, we don't need block device additional features > for pmem? We can bypass block device features like blk device cache flush etc. > Also, still we would be supporting ext4 & XFS filesystem with pmem? > > If there is time to your patches can you please elaborate on this a bit. I think the idea is that the nvdimm subsystem already adds block device semantics on top of the struct nvdimms that it manages. See drivers/nvdimm/blk.c. So it would be cleaner to make virtio-pmem an nvdimm bus. This will eliminate the duplication between your driver and drivers/nvdimm/ code. Try "git grep nvdimm_bus_register" to find drivers that use the nvdimm subsystem. The virtio-pmem driver could register itself similar to the existing ACPI NFIT and BIOS e820 pmem drivers. Stefan