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