[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPcyv4iav2gjHR63UfZmzp5u6mZciszarqrn=QXnvf+zjjgEUg@mail.gmail.com>
Date: Wed, 11 Oct 2017 12:22:41 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: Pankaj Gupta <pagupta@...hat.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
KVM list <kvm@...r.kernel.org>,
Qemu Developers <qemu-devel@...gnu.org>,
linux-nvdimm <linux-nvdimm@...1.01.org>,
Linux MM <linux-mm@...ck.org>, Jan Kara <jack@...e.cz>,
Stefan Hajnoczi <stefanha@...hat.com>,
Rik van Riel <riel@...hat.com>,
Haozhong Zhang <haozhong.zhang@...el.com>,
Nitesh Narayan Lal <nilal@...hat.com>,
Kevin Wolf <kwolf@...hat.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"Zwisler, Ross" <ross.zwisler@...el.com>,
David Hildenbrand <david@...hat.com>,
Xiao Guangrong <xiaoguangrong.eric@...il.com>
Subject: Re: [RFC] KVM "fake DAX" device flushing
On Wed, Oct 11, 2017 at 11:51 AM, Pankaj Gupta <pagupta@...hat.com> wrote:
> We are sharing the prototype version of 'fake DAX' flushing
> interface for the initial feedback. This is still work in progress
> and not yet ready for merging.
>
> Protoype right now just implements basic functionality without advanced
> features with two major parts:
>
> - 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 a virtio flushing interface for KVM guest to do a Qemu side sync for
> guest DAX persistent memory range.
>
> - Guest virtio-pmem driver
> Reads persistent memory range from paravirt device and reserves system memory map.
> It also allocates a block device corresponding to the pmem range which is accessed
> by DAX capable file systems. (file system support is still pending).
>
> We shared the project idea for 'fake DAX' flushing interface here [1].
> Based on suggestions here [2], we implemented guest 'virtio-pmem'
> driver and Qemu paravirt device.
>
> [1] https://www.spinics.net/lists/kvm/msg149761.html
> [2] https://www.spinics.net/lists/kvm/msg153095.html
>
> Work yet to be done:
>
> - Separate out the common code used by ACPI pmem interface and
> reuse it.
>
> - In pmem device memmap allocation and working. There is some parallel work
> going on upstream related to 'memory_hotplug restructuring' [3] and also hitting
> a memory section alignment issue [4].
>
> [3] https://lwn.net/Articles/712099/
> [4] https://www.mail-archive.com/linux-nvdimm@lists.01.org/msg02978.html
>
> - Provide DAX capable file-system(ext4 & XFS) support.
> - Qemu device flush functionality.
> - Qemu live migration work when host page cache is used.
> - Multiple virtio-pmem disks support.
>
> Prototype implementation for feedback:
>
> Kernel: https://github.com/pagupta/linux/commit/d15cf90074eae91aeed7a228da3faf319566dd40
Please send this as a patch so it can be reviewed over email.
Powered by blists - more mailing lists