Re: [PATCH 0/7] "Device DAX" for persistent memory

From: Dan Williams
Date: Mon May 09 2016 - 16:40:12 EST


On Mon, May 9, 2016 at 5:57 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Sun, May 08, 2016 at 03:35:10PM -0700, Dan Williams wrote:
>> Device DAX is the device-centric analogue of Filesystem DAX
>> (CONFIG_FS_DAX). It allows memory ranges to be allocated and mapped
>> without need of an intervening file system or being bound to block
>> device semantics. Device DAX is strict and predictable. Specifically
>> this interface:
>
> Can you explain the "why" a little more?

1/ As I mentioned at LSF [1] we're starting to see platforms with
performance and feature differentiated memory ranges. Environments
like high-performance-computing and usages like in-memory databases
want 100% exclusive allocation of a memory range with zero conflicting
kernel/metadata allocations. For dedicated applications of high
bandwidth or low latency memory device-DAX provides a predictable
direct map mechanism.

Note that this is only for the small number of "crazy" applications
that are willing to re-write to get every bit of performance. For
everyone else we, Dave Hansen and I, are looking to add a mechanism to
hot-plug device-DAX ranges into the mm to get general memory
management services (oversubscribe / migration, etc) with the
understanding that it may sacrifice some predictability.

2/ For persistent memory there are similar applications that are
willing to re-write to take full advantage of byte-addressable
persistence. This mechanism satisfies those usages that only need a
pre-allocated file to mmap.

3/ It answers Dave Chinner's call to start thinking about pmem-native
solutions. Device DAX specifically avoids block-device and file
system conflicts.

> And please, if you decide to Cc me on some of the patches do it for the
> whole series or none of it, but never just for some patches as that make
> the cc pretty pointless.

Sorry, you've told me this before. I'll update my scripts to
auto-include you on the whole series if you ever appear in the cc of
any patch in the set.

[1]: https://lwn.net/Articles/685107/