Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1440015

[PATCH v2 12/17] fs/dax: remove wmb_pmem()

From Dan Williams <dan.j.williams@intel.com>
Newsgroups linux.kernel
Subject [PATCH v2 12/17] fs/dax: remove wmb_pmem()
Date 2016-07-10 05:30 +0200
Message-ID <rTdBn-3ye-17@gated-at.bofh.it> (permalink)
References <rTdBn-3ye-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Flushing posted-write queues is now deferred to REQ_FLUSH context, or
otherwise handled by an ADR event at the platform level.

Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 fs/dax.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/fs/dax.c b/fs/dax.c
index 761495bf5eb9..434f421da660 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -147,7 +147,7 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
 		      struct buffer_head *bh)
 {
 	loff_t pos = start, max = start, bh_max = start;
-	bool hole = false, need_wmb = false;
+	bool hole = false;
 	struct block_device *bdev = NULL;
 	int rw = iov_iter_rw(iter), rc;
 	long map_len = 0;
@@ -213,7 +213,6 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
 
 		if (iov_iter_rw(iter) == WRITE) {
 			len = copy_from_iter_pmem(dax.addr, max - pos, iter);
-			need_wmb = true;
 		} else if (!hole)
 			len = copy_to_iter((void __force *) dax.addr, max - pos,
 					iter);
@@ -230,8 +229,6 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
 			dax.addr += len;
 	}
 
-	if (need_wmb)
-		wmb_pmem();
 	dax_unmap_atomic(bdev, &dax);
 
 	return (pos == start) ? rc : pos - start;
@@ -783,7 +780,6 @@ int dax_writeback_mapping_range(struct address_space *mapping,
 				return ret;
 		}
 	}
-	wmb_pmem();
 	return 0;
 }
 EXPORT_SYMBOL_GPL(dax_writeback_mapping_range);
@@ -1227,7 +1223,6 @@ int __dax_zero_page_range(struct block_device *bdev, sector_t sector,
 		if (dax_map_atomic(bdev, &dax) < 0)
 			return PTR_ERR(dax.addr);
 		clear_pmem(dax.addr + offset, length);
-		wmb_pmem();
 		dax_unmap_atomic(bdev, &dax);
 	}
 	return 0;

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 00/17] replace pcommit with ADR or directed flushing Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 17/17] pmem: kill __pmem address space Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 13/17] libnvdimm,  pmem: use nvdimm_flush() for namespace I/O writes Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 14/17] pmem: kill wmb_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 12/17] fs/dax: remove wmb_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 05/17] libnvdimm,  nfit: move flush hint mapping to region-device driver-data Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 11/17] libnvdimm,  pmem: flush posted-write queues on shutdown Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 15/17] Revert "KVM: x86: add pcommit support" Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 09/17] libnvdimm: cycle flush hints Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:30 +0200
  [PATCH v2 01/17] nfit: always associate flush hints Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:40 +0200
  [PATCH v2 04/17] libnvdimm,  nfit: remove nfit_spa_map() infrastructure Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:40 +0200
  [PATCH v2 06/17] tools/testing/nvdimm: simulate multiple flush  hints per-dimm Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:40 +0200
  [PATCH v2 10/17] libnvdimm, pmem: use REQ_FUA,  REQ_FLUSH for nvdimm_flush() Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:40 +0200
    [PATCH v3] libnvdimm, pmem: use REQ_FUA,  REQ_FLUSH for nvdimm_flush() Dan Williams <dan.j.williams@intel.com> - 2016-07-13 00:40 +0200
      Re: [PATCH v3] libnvdimm, pmem: use REQ_FUA, REQ_FLUSH for  nvdimm_flush() "Kani, Toshimitsu" <toshi.kani@hpe.com> - 2016-07-13 21:50 +0200
  [PATCH v2 03/17] libnvdimm: introduce devm_nvdimm_memremap(),  convert nfit_spa_map() users Dan Williams <dan.j.williams@intel.com> - 2016-07-10 05:40 +0200
    Re: [PATCH v2 03/17] libnvdimm: introduce devm_nvdimm_memremap(),  convert nfit_spa_map() users kbuild test robot <lkp@intel.com> - 2016-07-10 07:40 +0200
    [PATCH v3] libnvdimm: introduce devm_nvdimm_memremap(),  convert nfit_spa_map() users Dan Williams <dan.j.williams@intel.com> - 2016-07-13 00:30 +0200

csiph-web