linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] dax: I/O path enhancements
@ 2015-08-13 16:51 Ross Zwisler
  2015-08-13 16:51 ` [PATCH v2 1/7] brd: make rd_size static Ross Zwisler
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Ross Zwisler @ 2015-08-13 16:51 UTC (permalink / raw)
  To: linux-kernel, linux-nvdimm, Dan Williams
  Cc: Ross Zwisler, Alexander Viro, Ameen Ali, Andrew Morton,
	Arnd Bergmann, Benjamin Herrenschmidt, Boaz Harrosh,
	Borislav Petkov, Christoph Hellwig, David S. Miller,
	Gerald Schaefer, Greg KH, Heiko Carstens, H. Peter Anvin,
	Ingo Molnar, Jan Kara, Jeff Layton, Jens Axboe, Jiri Slaby,
	Joe Perches, Jonathan Corbet, Juergen Gross, linux390, linux-doc,
	linux-fsdevel, linuxppc-dev, linux-s390, Martin K. Petersen,
	Martin Schwidefsky, Matthew Wilcox, Mauro Carvalho Chehab,
	Michael Ellerman, Mike Snitzer, Miklos Szeredi, Ming Lei,
	Omar Sandoval, Paul Mackerras, Sagi Grimberg, Shaohua Li,
	Tejun Heo, Thomas Gleixner, Toshi Kani, Uwe Kleine-König,
	Wolfram Sang, x86, Dave Chinner

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 v1:
 - Removed patches to PMEM for the "read flush" _DSM flag.  These are different
   enough that they deserve their own series, and they have a separate baseline
   which is currently moving (Dan's memremap() series).
 - Added clear_pmem() PMEM API to zero DAX memory and flush it in one call.
   (Dave)
 - Open coded flushing in arch_wb_cache_pmem() instead of adding a generic
   clwb_flush_range().  This allowed me to avoid having extra memory barriers
   and instead rely completely on arch_wmb_pmem() for ordering. (Dave)
 - Moved the arch implementation of the PMEM API into it's own arch header
   (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 wb_cache_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       | 123 ++++++++++++++++++++++++++++++++++++++
 drivers/block/brd.c               |   6 +-
 drivers/nvdimm/pmem.c             |   4 +-
 drivers/s390/block/dcssblk.c      |  10 ++--
 fs/block_dev.c                    |   2 +-
 fs/dax.c                          |  73 ++++++++++++++--------
 include/linux/blkdev.h            |   8 +--
 include/linux/pmem.h              |  66 ++++++++++++++++----
 12 files changed, 247 insertions(+), 127 deletions(-)
 create mode 100644 arch/x86/include/asm/pmem.h

-- 
2.1.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2015-08-17 20:07 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-13 16:51 [PATCH v2 0/7] dax: I/O path enhancements Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 1/7] brd: make rd_size static Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 2/7] pmem, x86: move x86 PMEM API to new pmem.h header Ross Zwisler
2015-08-15  8:58   ` Christoph Hellwig
2015-08-13 16:51 ` [PATCH v2 3/7] pmem: remove layer when calling arch_has_wmb_pmem() Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 4/7] pmem, x86: clean up conditional pmem includes Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 5/7] pmem: add wb_cache_pmem() and clear_pmem() Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 6/7] dax: update I/O path to do proper PMEM flushing Ross Zwisler
2015-08-13 21:11   ` Dan Williams
2015-08-14 16:48     ` Ross Zwisler
2015-08-13 16:51 ` [PATCH v2 7/7] pmem, dax: have direct_access use __pmem annotation Ross Zwisler
2015-08-13 21:20   ` Dan Williams
2015-08-14 16:55     ` Ross Zwisler
2015-08-14 16:58       ` Dan Williams
2015-08-15  9:11         ` Christoph Hellwig
2015-08-15 15:49           ` Dan Williams
2015-08-15  9:19   ` Christoph Hellwig
2015-08-15 15:44     ` Dan Williams
2015-08-15 16:00       ` Christoph Hellwig
2015-08-15 18:05         ` Dan Williams
2015-08-17 20:07       ` Ross Zwisler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).