linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
	Pankaj Gupta <pagupta@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
	haozhong zhang <haozhong.zhang@intel.com>,
	Jan Kara <jack@suse.cz>,
	xiaoguangrong eric <xiaoguangrong.eric@gmail.com>,
	KVM list <kvm@vger.kernel.org>,
	David Hildenbrand <david@redhat.com>,
	linux-nvdimm <linux-nvdimm@ml01.01.org>,
	ross zwisler <ross.zwisler@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Qemu Developers <qemu-devel@nongnu.org>,
	Linux MM <linux-mm@kvack.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Nitesh Narayan Lal <nilal@redhat.com>
Subject: Re: [Qemu-devel] [RFC 2/2] KVM: add virtio-pmem driver
Date: Thu, 19 Oct 2017 11:21:26 -0700	[thread overview]
Message-ID: <CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg@mail.gmail.com> (raw)
In-Reply-To: <20171019080149.GB10089@infradead.org>

On Thu, Oct 19, 2017 at 1:01 AM, Christoph Hellwig <hch@infradead.org> wrote:
> On Wed, Oct 18, 2017 at 08:51:37AM -0700, Dan Williams wrote:
>> This use case is not "Persistent Memory". Persistent Memory is
>> something you can map and make persistent with CPU instructions.
>> Anything that requires a driver call is device driver managed "Shared
>> Memory".
>
> How is this any different than the existing nvdimm_flush()? If you
> really care about the not driver thing it could easily be a write
> to a doorbell page or a hypercall, but in the end that's just semantics.

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.

Non-ODP RDMA in a guest comes to mind...

--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2017-10-19 18:21 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
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
2017-10-12 22:18         ` Pankaj Gupta
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
2017-10-16 14:47       ` Stefan Hajnoczi
2017-10-16 15:58         ` Dan Williams
2017-10-16 17:04         ` Pankaj Gupta
2017-10-13 15:25     ` Dan Williams
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
2017-10-19  8:01               ` Stefan Hajnoczi
2017-10-19  8:01               ` Christoph Hellwig
2017-10-19 18:21                 ` Dan Williams [this message]
2017-10-20  8:00                   ` Christoph Hellwig
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='CAPcyv4j=Cdp68C15HddKaErpve2UGRfSTiL6bHiS=3gQybz9pg@mail.gmail.com' \
    --to=dan.j.williams@intel.com \
    --cc=david@redhat.com \
    --cc=haozhong.zhang@intel.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@ml01.01.org \
    --cc=nilal@redhat.com \
    --cc=pagupta@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=ross.zwisler@intel.com \
    --cc=stefanha@gmail.com \
    --cc=stefanha@redhat.com \
    --cc=xiaoguangrong.eric@gmail.com \
    /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