Re: [PATCH] x86/special_insn: reverse __force_order logic

2020-09-02 Thread Nadav Amit
> On Sep 2, 2020, at 9:56 AM, pet...@infradead.org wrote: > > On Wed, Sep 02, 2020 at 03:32:18PM +, Nadav Amit wrote: > >> Thanks for pointer. I did not see the discussion, and embarrassingly, I have >> also never figured out how to reply on lkml emails without registering to >> lkml. > >

Re: [PATCH] x86/special_insn: reverse __force_order logic

2020-09-02 Thread peterz
On Wed, Sep 02, 2020 at 03:32:18PM +, Nadav Amit wrote: > Thanks for pointer. I did not see the discussion, and embarrassingly, I have > also never figured out how to reply on lkml emails without registering to > lkml. The lore.kernel.org thing I pointed you to allows you to download an mbox

Re: [PATCH] x86/special_insn: reverse __force_order logic

2020-09-02 Thread Nadav Amit
> On Sep 2, 2020, at 5:54 AM, pet...@infradead.org wrote: > > On Tue, Sep 01, 2020 at 09:18:57AM -0700, Nadav Amit wrote: > >> Unless I misunderstand the logic, __force_order should also be used by >> rdpkru() and wrpkru() which do not have dependency on __force_order. I >> also did not

Re: [PATCH] x86/special_insn: reverse __force_order logic

2020-09-02 Thread peterz
On Tue, Sep 01, 2020 at 09:18:57AM -0700, Nadav Amit wrote: > Unless I misunderstand the logic, __force_order should also be used by > rdpkru() and wrpkru() which do not have dependency on __force_order. I > also did not understand why native_write_cr0() has R/W dependency on > __force_order, and

Re: [PATCH] x86/special_insn: reverse __force_order logic

2020-09-02 Thread hpa
On September 1, 2020 9:18:57 AM PDT, Nadav Amit wrote: >From: Nadav Amit > >The __force_order logic seems to be inverted. __force_order is >supposedly used to manipulate the compiler to use its memory >dependencies analysis to enforce orders between CR writes and reads. >Therefore, the memory

[PATCH] x86/special_insn: reverse __force_order logic

2020-09-01 Thread Nadav Amit
From: Nadav Amit The __force_order logic seems to be inverted. __force_order is supposedly used to manipulate the compiler to use its memory dependencies analysis to enforce orders between CR writes and reads. Therefore, the memory should behave as a "CR": when the CR is read, the memory should