[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180425112415.12327-1-pagupta@redhat.com>
Date: Wed, 25 Apr 2018 16:54:12 +0530
From: Pankaj Gupta <pagupta@...hat.com>
To: linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
qemu-devel@...gnu.org, linux-nvdimm@...1.01.org, linux-mm@...ck.org
Cc: jack@...e.cz, stefanha@...hat.com, dan.j.williams@...el.com,
riel@...riel.com, haozhong.zhang@...el.com, nilal@...hat.com,
kwolf@...hat.com, pbonzini@...hat.com, ross.zwisler@...el.com,
david@...hat.com, xiaoguangrong.eric@...il.com, hch@...radead.org,
marcel@...hat.com, mst@...hat.com, niteshnarayanlal@...mail.com,
imammedo@...hat.com, pagupta@...hat.com, lcapitulino@...hat.com
Subject: [RFC v2 0/2] kvm "fake DAX" device flushing
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(+)
Powered by blists - more mailing lists