From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751398AbbHQSbp (ORCPT ); Mon, 17 Aug 2015 14:31:45 -0400 Received: from mga14.intel.com ([192.55.52.115]:56826 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750759AbbHQSbm (ORCPT ); Mon, 17 Aug 2015 14:31:42 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,696,1432623600"; d="scan'208";a="770504242" From: Ross Zwisler To: linux-kernel@vger.kernel.org, linux-nvdimm@ml01.01.org, Dan Williams , Christoph Hellwig , Matthew Wilcox , Dave Chinner Cc: Ross Zwisler , "David S. Miller" , "H. Peter Anvin" , "Martin K. Petersen" , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Alexander Viro , Ameen Ali , Andrew Morton , Arnd Bergmann , Benjamin Herrenschmidt , Boaz Harrosh , Borislav Petkov , Gerald Schaefer , Greg KH , Heiko Carstens , Ingo Molnar , Jan Kara , Jeff Layton , Jens Axboe , Jiri Slaby , Joe Perches , Jonathan Corbet , Juergen Gross , Kees Cook , 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 , Wolfram Sang , Yigal Korman , linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-s390@vger.kernel.org, linux390@de.ibm.com, linuxppc-dev@lists.ozlabs.org, x86@kernel.org Subject: [PATCH v3 0/7] dax: I/O path enhancements Date: Mon, 17 Aug 2015 12:30:04 -0600 Message-Id: <1439836211-4719-1-git-send-email-ross.zwisler@linux.intel.com> X-Mailer: git-send-email 2.1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 v2: - Introduce copy_from_iter_pmem() as part of the PMEM API. Keep the use of __arch_wmb_cache_pmem() internal to the implmentation of the PMEM API. (Dan) 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 | 152 ++++++++++++++++++++++++++++++++++++++ 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 | 78 +++++++++++++++---- 12 files changed, 282 insertions(+), 128 deletions(-) create mode 100644 arch/x86/include/asm/pmem.h -- 2.1.0