Messages in this thread | | | From | Ross Zwisler <> | Subject | [PATCH v2 0/2] add support for new persistent memory instructions | Date | Fri, 23 Jan 2015 13:40:26 -0700 |
| |
This patch set adds support for two new persistent memory instructions, pcommit and clwb. These instructions were announced in the document "Intel Architecture Instruction Set Extensions Programming Reference" with reference number 319433-022.
https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf
These patches apply cleanly to v3.19-rc5.
Changes from v1:
- This series no longer updates the DRM code or clflush_cache_range to use clwb instead of clflushopt, as there was concern over whether clflushopt was used in some cases to explicitly evict lines from the processor cache. I'll leave it up to the owners of this code to decide how they want to use clwb.
- Reworked the clwb patch so that it doesn't use xsaveopt, as xsaveopt wasn't included in all GCC versions that the kernel needs to support. The assembly is now sort of complex because we need to hard code the clwb instruction to use a known register, but we also need to pull in the parameter as a memory constraint so that gcc doesn't reorder this instruction around other accesses to the same memory location. Many thanks to hpa and Boris Petkov for their help on getting this right.
Cc: H Peter Anvin <h.peter.anvin@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Borislav Petkov <bp@alien8.de>
Ross Zwisler (2): x86: Add support for the pcommit instruction x86: Add support for the clwb instruction
arch/x86/include/asm/cpufeature.h | 2 ++ arch/x86/include/asm/special_insns.h | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+)
-- 1.9.3
| |