LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Pankaj Gupta <pagupta@redhat.com>
To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	qemu-devel@nongnu.org, linux-nvdimm@ml01.01.org,
	linux-mm@kvack.org
Cc: jack@suse.cz, stefanha@redhat.com, dan.j.williams@intel.com,
	riel@surriel.com, haozhong.zhang@intel.com, nilal@redhat.com,
	kwolf@redhat.com, pbonzini@redhat.com, ross.zwisler@intel.com,
	david@redhat.com, xiaoguangrong.eric@gmail.com,
	hch@infradead.org, marcel@redhat.com, mst@redhat.com,
	niteshnarayanlal@hotmail.com, imammedo@redhat.com,
	pagupta@redhat.com, lcapitulino@redhat.com
Subject: [RFC v2 0/2] kvm "fake DAX" device flushing
Date: Wed, 25 Apr 2018 16:54:12 +0530	[thread overview]
Message-ID: <20180425112415.12327-1-pagupta@redhat.com> (raw)

This is RFC V2 for 'fake DAX' flushing interface sharing
for review. This patchset has two main parts:

- Guest virtio-pmem driver
  Guest driver reads persistent memory range from paravirt 
  device and registers with 'nvdimm_bus'. 'nvdimm/pmem' 
  driver uses this information to allocate persistent 
  memory range. Also, we have implemented guest side of 
  VIRTIO flushing interface.

- Qemu virtio-pmem device
  It exposes a persistent memory range to KVM guest which 
  at host side is file backed memory and works as persistent 
  memory device. In addition to this it provides virtio 
  device handling of flushing interface. KVM guest performs
  Qemu side asynchronous sync using this interface.

Changes from previous RFC[1]:

- Reuse existing 'pmem' code for registering persistent 
  memory and other operations instead of creating an entirely 
  new block driver.
- Use VIRTIO driver to register memory information with 
  nvdimm_bus and create region_type accordingly. 
- Call VIRTIO flush from existing pmem driver.

Details of project idea for 'fake DAX' flushing interface is 
shared [2] & [3].

Pankaj Gupta (2):
   Add virtio-pmem guest driver
   pmem: device flush over VIRTIO

[1] https://marc.info/?l=linux-mm&m=150782346802290&w=2
[2] https://www.spinics.net/lists/kvm/msg149761.html
[3] https://www.spinics.net/lists/kvm/msg153095.html  

 drivers/nvdimm/region_devs.c     |    7 ++
 drivers/virtio/Kconfig           |   12 +++
 drivers/virtio/Makefile          |    1 
 drivers/virtio/virtio_pmem.c     |  118 +++++++++++++++++++++++++++++++++++++++
 include/linux/libnvdimm.h        |    4 +
 include/uapi/linux/virtio_ids.h  |    1 
 include/uapi/linux/virtio_pmem.h |   58 +++++++++++++++++++
 7 files changed, 201 insertions(+)

             reply	other threads:[~2018-04-25 11:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-25 11:24 Pankaj Gupta [this message]
2018-04-25 11:24 ` [RFC v2 1/2] virtio: add pmem driver Pankaj Gupta
2018-04-25 14:21   ` Dan Williams
2018-04-25 14:43     ` Dan Williams
2018-04-26 12:27       ` Jeff Moyer
2018-04-26 17:15         ` [Qemu-devel] " Pankaj Gupta
2018-04-26 17:24           ` Jeff Moyer
2018-04-25 14:52   ` Michael S. Tsirkin
2018-04-25 15:11     ` [Qemu-devel] " Pankaj Gupta
2018-04-26 13:12   ` Stefan Hajnoczi
2018-04-26 15:44     ` Pankaj Gupta
2018-04-27 13:31       ` Stefan Hajnoczi
2018-04-28 10:48         ` Pankaj Gupta
2018-04-25 11:24 ` [RFC v2 2/2] pmem: device flush over VIRTIO Pankaj Gupta
2018-04-25 14:23   ` Dan Williams
2018-04-25 14:47     ` Pankaj Gupta
2018-04-26 13:15   ` Stefan Hajnoczi
2018-04-26 16:40     ` Pankaj Gupta
2018-04-26 16:57       ` Dan Williams
2018-04-26 17:13         ` Pankaj Gupta
2018-04-25 11:24 ` [RFC v2] qemu: Add virtio pmem device Pankaj Gupta
2018-04-25 11:35   ` [Qemu-devel] " no-reply
2018-04-25 11:58     ` Pankaj Gupta
2018-04-25 14:23       ` Eric Blake
2018-04-25 14:51         ` Pankaj Gupta
2018-04-25 11:46   ` no-reply
2018-04-25 14:25   ` Eric Blake
2018-04-25 14:55     ` Pankaj Gupta
2018-04-26 13:24   ` Stefan Hajnoczi
2018-04-26 16:43     ` [Qemu-devel] " Pankaj Gupta
2018-06-01 12:24 ` [Qemu-devel] [RFC v2 0/2] kvm "fake DAX" device flushing Igor Mammedov
2018-06-04  5:56   ` Pankaj Gupta
2018-06-04  9:55   ` David Hildenbrand

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=20180425112415.12327-1-pagupta@redhat.com \
    --to=pagupta@redhat.com \
    --cc=dan.j.williams@intel.com \
    --cc=david@redhat.com \
    --cc=haozhong.zhang@intel.com \
    --cc=hch@infradead.org \
    --cc=imammedo@redhat.com \
    --cc=jack@suse.cz \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@ml01.01.org \
    --cc=marcel@redhat.com \
    --cc=mst@redhat.com \
    --cc=nilal@redhat.com \
    --cc=niteshnarayanlal@hotmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riel@surriel.com \
    --cc=ross.zwisler@intel.com \
    --cc=stefanha@redhat.com \
    --cc=xiaoguangrong.eric@gmail.com \
    --subject='Re: [RFC v2 0/2] kvm "fake DAX" device flushing' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).