diff options
author | Dan Williams <dan.j.williams@intel.com> | 2017-05-29 16:12:20 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2017-06-15 17:35:24 -0400 |
commit | 81f558701ae8d5677635118751b1b4043094c7e9 (patch) | |
tree | 6fc9fe36c0f0c073c13337e096cba143494bfbd0 /arch/x86/include/asm | |
parent | 6318770a7d43a4166b6a8e3cef62e4a019d3c95e (diff) |
x86, dax: replace clear_pmem() with open coded memset + dax_ops->flush
The clear_pmem() helper simply combines a memset() plus a cache flush.
Now that the flush routine is optionally provided by the dax device
driver we can avoid unnecessary cache management on dax devices fronting
volatile memory.
With clear_pmem() gone we can follow on with a patch to make pmem cache
management completely defined within the pmem driver.
Cc: <x86@kernel.org>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/pmem.h | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/arch/x86/include/asm/pmem.h b/arch/x86/include/asm/pmem.h index 60e8edbe0205..f4c119d253f3 100644 --- a/arch/x86/include/asm/pmem.h +++ b/arch/x86/include/asm/pmem.h | |||
@@ -65,19 +65,6 @@ static inline void arch_wb_cache_pmem(void *addr, size_t size) | |||
65 | clwb(p); | 65 | clwb(p); |
66 | } | 66 | } |
67 | 67 | ||
68 | /** | ||
69 | * arch_clear_pmem - zero a PMEM memory range | ||
70 | * @addr: virtual start address | ||
71 | * @size: number of bytes to zero | ||
72 | * | ||
73 | * Write zeros into the memory range starting at 'addr' for 'size' bytes. | ||
74 | */ | ||
75 | static inline void arch_clear_pmem(void *addr, size_t size) | ||
76 | { | ||
77 | memset(addr, 0, size); | ||
78 | arch_wb_cache_pmem(addr, size); | ||
79 | } | ||
80 | |||
81 | static inline void arch_invalidate_pmem(void *addr, size_t size) | 68 | static inline void arch_invalidate_pmem(void *addr, size_t size) |
82 | { | 69 | { |
83 | clflush_cache_range(addr, size); | 70 | clflush_cache_range(addr, size); |