Re: [PATCH v2 16/17] x86/insn: remove pcommit

From: Dan Williams
Date: Fri Jul 22 2016 - 11:55:29 EST


On Tue, Jul 12, 2016 at 3:12 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
> On Tue, Jul 12, 2016 at 7:57 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> On Sat, Jul 09, 2016 at 08:25:54PM -0700, Dan Williams wrote:
>>> The pcommit instruction is being deprecated in favor of either ADR
>>> (asynchronous DRAM refresh: flush-on-power-fail) at the platform level, or
>>> posted-write-queue flush addresses as defined by the ACPI 6.x NFIT (NVDIMM
>>> Firmware Interface Table).
>>
>>> arch/x86/include/asm/cpufeatures.h | 1
>>> arch/x86/include/asm/special_insns.h | 46 --------------------
>>> arch/x86/lib/x86-opcode-map.txt | 2 -
>>> tools/objtool/arch/x86/insn/x86-opcode-map.txt | 2 -
>>> tools/perf/arch/x86/tests/insn-x86-dat-32.c | 2 -
>>> tools/perf/arch/x86/tests/insn-x86-dat-64.c | 2 -
>>> tools/perf/arch/x86/tests/insn-x86-dat-src.c | 4 --
>>
>> Just deprecated, or is it completely eradicated, removed from history,
>> will never ever happen and we'll reissue the opcode for something else?
>>
>> Because if its only deprecated then removing it from the instruction
>> decoders seems wrong, old binaries might still contain the opcode.
>
> Eradicated.
>
> "The new instructions like CLWB and CLFLUSHOPT will be rolled into the
> SDM but PCOMMIT will be removed from the Extensions doc and not rolled
> into the SDM." [1]
>
> Existing binaries are already gating their usage on the presence of
> the cpu id flag, that flag and the instruction opcode are reserved
> going forward.
>
> [1]: https://lists.01.org/pipermail/linux-nvdimm/2016-June/005923.html

x86 maintainers, I have the other patches in this series queued in
-next. Please ack this one and I'll add it for v4.8-rc1, or otherwise
let me know how you want to handle this patch.