From: Pankaj Gupta <pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Dan Williams <dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Kevin Wolf <kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Rik van Riel <riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>,
Xiao Guangrong
<xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
KVM list <kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
David Hildenbrand <david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-nvdimm
<linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org>,
Ross Zwisler
<ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Qemu Developers
<qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org>,
Linux MM <linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org>,
Stefan Hajnoczi
<stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Paolo Bonzini <pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Nitesh Narayan Lal
<nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [RFC 2/2] KVM: add virtio-pmem driver
Date: Thu, 12 Oct 2017 18:18:39 -0400 (EDT) [thread overview]
Message-ID: <1363955128.19944709.1507846719987.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <CAPcyv4gkri7t+3Unf0sc9AHMnz-v9G_qV_bJppLjUUNAn7drrQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
>
> On Thu, Oct 12, 2017 at 2:25 PM, Pankaj Gupta <pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> >
> >> > This patch adds virtio-pmem driver for KVM guest.
> >> > Guest reads the persistent memory range information
> >> > over virtio bus from Qemu and reserves the range
> >> > as persistent memory. Guest also allocates a block
> >> > device corresponding to the pmem range which later
> >> > can be accessed with DAX compatible file systems.
> >> > Idea is to use the virtio channel between guest and
> >> > host to perform the block device flush for guest pmem
> >> > DAX device.
> >> >
> >> > There is work to do including DAX file system support
> >> > and other advanced features.
> >> >
> >> > Signed-off-by: Pankaj Gupta <pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> >> > ---
> >> > drivers/virtio/Kconfig | 10 ++
> >> > drivers/virtio/Makefile | 1 +
> >> > drivers/virtio/virtio_pmem.c | 322
> >> > +++++++++++++++++++++++++++++++++++++++
> >> > include/uapi/linux/virtio_pmem.h | 55 +++++++
> >> > 4 files changed, 388 insertions(+)
> >> > create mode 100644 drivers/virtio/virtio_pmem.c
> >> > create mode 100644 include/uapi/linux/virtio_pmem.h
> >> >
> >> > diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
> >> > index cff773f15b7e..0192c4bda54b 100644
> >> > --- a/drivers/virtio/Kconfig
> >> > +++ b/drivers/virtio/Kconfig
> >> > @@ -38,6 +38,16 @@ config VIRTIO_PCI_LEGACY
> >> >
> >> > If unsure, say Y.
> >> >
> >> > +config VIRTIO_PMEM
> >> > + tristate "Virtio pmem driver"
> >> > + depends on VIRTIO
> >> > + ---help---
> >> > + This driver adds persistent memory range within a KVM guest.
> >>
> >> I think we need to call this something other than persistent memory to
> >> make it clear that this not memory where the persistence can be
> >> managed from userspace. The persistence point always requires a driver
> >> call, so this is something distinctly different than "persistent
> >> memory". For example, it's a bug if this memory range ends up backing
> >> a device-dax range in the guest where there is no such thing as a
> >> driver callback to perform the flushing. How does this solution
> >> protect against that scenario?
> >
> > yes, you are right we are not providing device_dax in this case so it
> > should
> > be clear from name. Any suggestion for name?
>
> So currently /proc/iomem in a guest with a pmem device attached to a
> namespace looks like this:
>
> c00000000-13bfffffff : Persistent Memory
> c00000000-13bfffffff : namespace2.0
>
> Can we call it "Virtio Shared Memory" to make it clear it is a
> different beast than typical "Persistent Memory"? You can likely
I think somewhere we need persistent keyword 'Virtio Persistent Memory' or
so.
> inject your own name into the resource tree the same way we do in the
> NFIT driver. See acpi_nfit_insert_resource().
Sure! thank you.
next prev parent reply other threads:[~2017-10-12 22:18 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-12 15:50 [RFC 0/2] KVM "fake DAX" device flushing Pankaj Gupta
2017-10-12 15:50 ` [RFC 1/2] pmem: Move reusable code to base header files Pankaj Gupta
2017-10-12 20:42 ` Dan Williams
2017-10-12 21:27 ` [Qemu-devel] " Pankaj Gupta
[not found] ` <20171012155027.3277-1-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-12 15:50 ` [RFC 2/2] KVM: add virtio-pmem driver Pankaj Gupta
2017-10-12 20:51 ` Dan Williams
2017-10-12 21:25 ` Pankaj Gupta
2017-10-12 21:54 ` Dan Williams
[not found] ` <CAPcyv4gkri7t+3Unf0sc9AHMnz-v9G_qV_bJppLjUUNAn7drrQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-12 22:18 ` Pankaj Gupta [this message]
2017-10-12 22:27 ` Rik van Riel
2017-10-12 22:39 ` Pankaj Gupta
2017-10-12 22:52 ` Pankaj Gupta
2017-10-12 22:59 ` Dan Williams
2017-10-12 23:07 ` Pankaj Gupta
2017-10-13 9:44 ` Stefan Hajnoczi
2017-10-13 10:48 ` Pankaj Gupta
[not found] ` <24301306.20068579.1507891695416.JavaMail.zimbra-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-16 14:47 ` Stefan Hajnoczi
2017-10-16 15:58 ` Dan Williams
2017-10-16 17:04 ` Pankaj Gupta
[not found] ` <20171013094431.GA27308-lxVrvc10SDRcolVlb+j0YCZi+YwRKgec@public.gmane.org>
2017-10-13 15:25 ` Dan Williams
[not found] ` <20171012155027.3277-3-pagupta-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-10-17 7:16 ` Christoph Hellwig
2017-10-17 7:40 ` [Qemu-devel] " Pankaj Gupta
2017-10-17 8:02 ` Christoph Hellwig
2017-10-17 8:30 ` Pankaj Gupta
2017-10-18 13:03 ` Stefan Hajnoczi
2017-10-18 15:51 ` Dan Williams
[not found] ` <CAPcyv4h6aFkyHhh4R4DTznbSCLf9CuBoszk0Q1gB5EKNcp_SeQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-19 8:01 ` Stefan Hajnoczi
2017-10-19 8:01 ` Christoph Hellwig
[not found] ` <20171019080149.GB10089-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-10-19 18:21 ` Dan Williams
[not found] ` <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-10-20 8:00 ` Christoph Hellwig
[not found] ` <20171020080049.GA25471-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2017-10-20 15:05 ` Dan Williams
2017-10-20 16:06 ` Christoph Hellwig
2017-10-20 16:11 ` Dan Williams
2017-10-12 15:50 ` [RFC] QEMU: Add virtio pmem device Pankaj Gupta
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=1363955128.19944709.1507846719987.JavaMail.zimbra@redhat.com \
--to=pagupta-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=david-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jack-AlSwsSmVLrQ@public.gmane.org \
--cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org \
--cc=nilal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
--cc=riel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=ross.zwisler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=xiaoguangrong.eric-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).