From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f72.google.com (mail-oi0-f72.google.com [209.85.218.72]) by kanga.kvack.org (Postfix) with ESMTP id 1DD176B0253 for ; Wed, 11 Oct 2017 15:22:43 -0400 (EDT) Received: by mail-oi0-f72.google.com with SMTP id t134so2010819oih.6 for ; Wed, 11 Oct 2017 12:22:43 -0700 (PDT) Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id r26sor4213799ote.331.2017.10.11.12.22.42 for (Google Transport Security); Wed, 11 Oct 2017 12:22:42 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20171011185146.20295-1-pagupta@redhat.com> References: <20171011185146.20295-1-pagupta@redhat.com> From: Dan Williams Date: Wed, 11 Oct 2017 12:22:41 -0700 Message-ID: Subject: Re: [RFC] KVM "fake DAX" device flushing Content-Type: text/plain; charset="UTF-8" Sender: owner-linux-mm@kvack.org List-ID: To: Pankaj Gupta Cc: "linux-kernel@vger.kernel.org" , KVM list , Qemu Developers , linux-nvdimm , Linux MM , Jan Kara , Stefan Hajnoczi , Rik van Riel , Haozhong Zhang , Nitesh Narayan Lal , Kevin Wolf , Paolo Bonzini , "Zwisler, Ross" , David Hildenbrand , Xiao Guangrong On Wed, Oct 11, 2017 at 11:51 AM, Pankaj Gupta 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. -- 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: email@kvack.org