Various membarrier fixes. Changes from v2: - Added reviewed-bys - Don't rseq_preempt the caller (Mathieu) - Fix single-thread short circuit (Mathieu)
Changes from v1: - patch 1: comment fixes from Mathieu - patch 2: improved comments - patch 3: split out as a separate patch - patch 4: now has a proper explanation Mathieu, I think we have to make sync_core sync the caller. See patch 4. Andy Lutomirski (4): x86/membarrier: Get rid of a dubious optimization membarrier: Add an actual barrier before rseq_preempt() membarrier: Explicitly sync remote cores when SYNC_CORE is requested membarrier: Execute SYNC_CORE on the calling thread arch/x86/include/asm/sync_core.h | 9 ++-- arch/x86/mm/tlb.c | 10 ++++- kernel/sched/membarrier.c | 77 ++++++++++++++++++++++++-------- 3 files changed, 72 insertions(+), 24 deletions(-) -- 2.28.0

