Skip to content

membarrier cleanups

Andy Lutomirski linux-arm-kernel linux-mm linuxppc-dev lkml stable 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest8 patches 71 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8membarrier: Document why membarrier() workskernel/sched/membarrier.c+55 -03 replies
2/8x86/mm: Handle unlazying membarrier core sync in the arch codearch/x86/mm/tlb.c include/linux/sched/mm.h kernel/sched/core.c+46 -334 replies
3/8membarrier: Remove membarrier_arch_switch_mm() prototype in core codeinclude/linux/sched/mm.h+0 -72 replies
4/8membarrier: Make the post-switch-mm barrier explicitinclude/linux/sched/mm.h kernel/kthread.c kernel/sched/core.c+31 -3726 replies
5/8membarrier, kthread: Use _ONCE accessors for task->mmfs/exec.c kernel/kthread.c kernel/sched/membarrier.c+6 -63 replies
6/8powerpc/membarrier: Remove special barrier on mm switcharch/powerpc/include/asm/membarrier.h arch/powerpc/mm/mmu_context.c+0 -291 reply
7/8membarrier: Remove arm (32) support for SYNC_COREarch/arm/Kconfig+0 -127 replies
8/8membarrier: Rewrite sync_core_before_usermode() and improve documentationDocumentation/features/sched/membarrier-sync-core/arch-support.txt arch/arm64/include/asm/sync_core.h arch/powerpc/include/asm/sync_core.h +12 more+75 -8716 replies

Reviews trailers per patch

4 of 8 patches have a Reviewed-by or Acked-by.

PatchNicholas PigginRussell King (Oracle)Will DeaconMathieu Desnoyers
1/8
2/8
3/8A-b A-b
4/8
5/8A-b
6/8
7/8A-b
8/8A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [PATCH 0/8] membarrier cleanups

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
Signature · 1 line
2.31.1