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

From: Dan Williams
Date: Tue Jul 12 2016 - 18:13:36 EST


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