Re: [PATCH v3 0/2] Align mmap address for DAX pmd mappings

From: Andrew Morton
Date: Sat Apr 16 2016 - 01:05:50 EST


On Thu, 14 Apr 2016 10:48:29 -0600 Toshi Kani <toshi.kani@xxxxxxx> wrote:

> When CONFIG_FS_DAX_PMD is set, DAX supports mmap() using pmd page
> size. This feature relies on both mmap virtual address and FS
> block (i.e. physical address) to be aligned by the pmd page size.
> Users can use mkfs options to specify FS to align block allocations.
> However, aligning mmap address requires code changes to existing
> applications for providing a pmd-aligned address to mmap().
>
> For instance, fio with "ioengine=mmap" performs I/Os with mmap() [1].
> It calls mmap() with a NULL address, which needs to be changed to
> provide a pmd-aligned address for testing with DAX pmd mappings.
> Changing all applications that call mmap() with NULL is undesirable.
>
> This patch-set extends filesystems to align an mmap address for
> a DAX file so that unmodified applications can use DAX pmd mappings.

Matthew sounded unconvinced about the need for this patchset, but I
must say that

: The point is that we do not need to modify existing applications for using
: DAX PMD mappings.
:
: For instance, fio with "ioengine=mmap" performs I/Os with mmap().
: https://github.com/caius/fio/blob/master/engines/mmap.c
:
: With this change, unmodified fio can be used for testing with DAX PMD
: mappings. There are many examples like this, and I do not think we want
: to modify all applications that we want to evaluate/test with.

sounds pretty convincing?


And if we go ahead with this, it looks like 4.7 material to me - it
affects ABI and we want to get that stabilized asap. What do people
think?