From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in /proc/self/smaps) Date: Mon, 12 Sep 2016 14:00:07 +0800 Message-ID: References: <20160908225636.GB15167@linux.intel.com> <5d5ef209-e005-12c6-9b34-1fdd21e1e6e2@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Cc: Yumei Huang , Michal Hocko , KVM list , Linux MM , Gleb Natapov , mtosatti-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Dave Hansen , Stefan Hajnoczi , linux-fsdevel , Paolo Bonzini , Andrew Morton , "linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org" To: Dan Williams Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" List-Id: kvm.vger.kernel.org On 09/09/2016 11:40 PM, Dan Williams wrote: > On Fri, Sep 9, 2016 at 1:55 AM, Xiao Guangrong > wrote: > [..] >>> >>> Whether a persistent memory mapping requires an msync/fsync is a >>> filesystem specific question. This mincore proposal is separate from >>> that. Consider device-DAX for volatile memory or mincore() called on >>> an anonymous memory range. In those cases persistence and filesystem >>> metadata are not in the picture, but it would still be useful for >>> userspace to know "is there page cache backing this mapping?" or "what >>> is the TLB geometry of this mapping?". >> >> >> I got a question about msync/fsync which is beyond the topic of this thread >> :) >> >> Whether msync/fsync can make data persistent depends on ADR feature on >> memory >> controller, if it exists everything works well, otherwise, we need to have >> another >> interface that is why 'Flush hint table' in ACPI comes in. 'Flush hint >> table' is >> particularly useful for nvdimm virtualization if we use normal memory to >> emulate >> nvdimm with data persistent characteristic (the data will be flushed to a >> persistent storage, e.g, disk). >> >> Does current PMEM programming model fully supports 'Flush hint table'? Is >> userspace allowed to use these addresses? > > If you publish flush hint addresses in the virtual NFIT the guest VM > will write to them whenever a REQ_FLUSH or REQ_FUA request is sent to > the virtual /dev/pmemX device. Yes, seems straightforward to take a > VM exit on those events and flush simulated pmem to persistent > storage. > Thank you, Dan! However REQ_FLUSH or REQ_FUA is handled in kernel space, okay, after following up the discussion in this thread, i understood that currently filesystems have not supported the case that usespace itself make data be persistent without kernel's involvement. So that works. Hmm, Does device-DAX support this case (make data be persistent without msync/fsync)? I guess no, but just want to confirm it. :)