lkml.org 
[lkml]   [2021]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/8] membarrier cleanups
Date
membarrier() is unnecessarily tangled with the core scheduler.  Clean it
up. While we're at it, remove the documentation and drop the pretence that
SYNC_CORE can ever be a well-defined cross-arch operation.

Andy Lutomirski (8):
membarrier: Document why membarrier() works
x86/mm: Handle unlazying membarrier core sync in the arch code
membarrier: Remove membarrier_arch_switch_mm() prototype in core code
membarrier: Make the post-switch-mm barrier explicit
membarrier, kthread: Use _ONCE accessors for task->mm
powerpc/membarrier: Remove special barrier on mm switch
membarrier: Remove arm (32) support for SYNC_CORE
membarrier: Rewrite sync_core_before_usermode() and improve
documentation

.../membarrier-sync-core/arch-support.txt | 68 +++++------------
arch/arm/Kconfig | 1 -
arch/arm64/include/asm/sync_core.h | 19 +++++
arch/powerpc/include/asm/membarrier.h | 27 -------
arch/powerpc/include/asm/sync_core.h | 14 ++++
arch/powerpc/mm/mmu_context.c | 2 -
arch/x86/Kconfig | 1 -
arch/x86/include/asm/sync_core.h | 7 +-
arch/x86/kernel/alternative.c | 2 +-
arch/x86/kernel/cpu/mce/core.c | 2 +-
arch/x86/mm/tlb.c | 54 ++++++++++---
drivers/misc/sgi-gru/grufault.c | 2 +-
drivers/misc/sgi-gru/gruhandles.c | 2 +-
drivers/misc/sgi-gru/grukservices.c | 2 +-
fs/exec.c | 2 +-
include/linux/sched/mm.h | 42 +++++-----
include/linux/sync_core.h | 21 -----
init/Kconfig | 3 -
kernel/kthread.c | 16 +---
kernel/sched/core.c | 44 +++--------
kernel/sched/membarrier.c | 76 +++++++++++++++++--
21 files changed, 210 insertions(+), 197 deletions(-)
create mode 100644 arch/arm64/include/asm/sync_core.h
delete mode 100644 arch/powerpc/include/asm/membarrier.h
create mode 100644 arch/powerpc/include/asm/sync_core.h
delete mode 100644 include/linux/sync_core.h

--
2.31.1

\
 
 \ /
  Last update: 2021-06-16 05:22    [W:0.993 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site