PMEM is a modified version of the Block RAM Driver, BRD. The major difference is that BRD allocates its backing store pages from the page cache, whereas PMEM uses reserved memory that has been ioremapped. One benefit of this approach is that there is a direct mapping between filesystem block numbers and virtual addresses. In PMEM, filesystem blocks N, N+1, N+2, etc. will all be adjacent in the virtual memory space. This property allows us to set up PMD mappings (2 MiB) for DAX. This patch set is builds upon the work that Matthew Wilcox has been doing for DAX: https://lkml.org/lkml/2014/8/27/31 Specifically, my implementation of pmem_direct_access() in patch 4/4 uses API enhancements introduced in Matthew's DAX patch v10 02/21: https://lkml.org/lkml/2014/8/27/48 Ross Zwisler (4): pmem: Initial version of persistent memory driver pmem: Add support for getgeo() pmem: Add support for rw_page() pmem: Add support for direct_access() MAINTAINERS | 6 + drivers/block/Kconfig | 41 ++++++ drivers/block/Makefile | 1 + drivers/block/pmem.c | 375 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 423 insertions(+) create mode 100644 drivers/block/pmem.c -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html