[PATCH v4 0/7] dax: I/O path enhancements

Ross Zwisler ross.zwisler at linux.intel.com
Wed Aug 19 03:14:41 AEST 2015


The goal of this series is to enhance the DAX I/O path so that all operations
that store data (I/O writes, zeroing blocks, punching holes, etc.) properly
synchronize the stores to media using the PMEM API.  This ensures that the data
DAX is writing is durable on media before the operation completes.

Patches 1-4 are a few random cleanups.

Changes from v3 (all in patch 5):
 - moved <linux/uio.h> include from x86 pmem.h to linux/pmem.h (Christoph)
 - made some local void* variables where apporpriate to cut down on __force
   casts from __pmem (Christoph)
 - made a __iter_needs_pmem_wb() helper and added a TODO to move to
   non-temporal stores (Christoph)

Ross Zwisler (7):
  brd: make rd_size static
  pmem, x86: move x86 PMEM API to new pmem.h header
  pmem: remove layer when calling arch_has_wmb_pmem()
  pmem, x86: clean up conditional pmem includes
  pmem: add copy_from_iter_pmem() and clear_pmem()
  dax: update I/O path to do proper PMEM flushing
  pmem, dax: have direct_access use __pmem annotation

 Documentation/filesystems/Locking |   3 +-
 MAINTAINERS                       |   1 +
 arch/powerpc/sysdev/axonram.c     |   7 +-
 arch/x86/include/asm/cacheflush.h |  71 -----------------
 arch/x86/include/asm/pmem.h       | 158 ++++++++++++++++++++++++++++++++++++++
 drivers/block/brd.c               |   6 +-
 drivers/nvdimm/pmem.c             |   4 +-
 drivers/s390/block/dcssblk.c      |  10 ++-
 fs/block_dev.c                    |   2 +-
 fs/dax.c                          |  68 +++++++++-------
 include/linux/blkdev.h            |   8 +-
 include/linux/pmem.h              |  79 +++++++++++++++----
 12 files changed, 289 insertions(+), 128 deletions(-)
 create mode 100644 arch/x86/include/asm/pmem.h

-- 
2.1.0



More information about the Linuxppc-dev mailing list