Messages in this thread | | | Date | Mon, 9 May 2016 13:40:03 -0700 | Subject | Re: [PATCH 0/7] "Device DAX" for persistent memory | From | Dan Williams <> |
| |
On Mon, May 9, 2016 at 5:57 AM, Christoph Hellwig <hch@infradead.org> 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/
| |