Messages in this thread | | | From | Andy Lutomirski <> | Subject | [PATCH v3 0/4] membarrier fixes | Date | Thu, 3 Dec 2020 21:07:02 -0800 |
| |
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
| |