Re: [RFC] nvfs: a filesystem for persistent memory

From: Mikulas Patocka
Date: Mon Sep 21 2020 - 12:19:20 EST




On Tue, 15 Sep 2020, Dan Williams wrote:

> > TODO:
> >
> > - programs run approximately 4% slower when running from Optane-based
> > persistent memory. Therefore, programs and libraries should use page cache
> > and not DAX mapping.
>
> This needs to be based on platform firmware data f(ACPI HMAT) for the
> relative performance of a PMEM range vs DRAM. For example, this
> tradeoff should not exist with battery backed DRAM, or virtio-pmem.

Hi

I have implemented this functionality - if we mmap a file with
(vma->vm_flags & VM_DENYWRITE), then it is assumed that this is executable
file mapping - the flag S_DAX on the inode is cleared on and the inode
will use normal page cache.

Is there some way how to test if we are using Optane-based module (where
this optimization should be applied) or battery backed DRAM (where it
should not)?

I've added mount options dax=never, dax=auto, dax=always, so that the user
can override the automatic behavior.

Mikulas