Re: [PATCH v4 0/4] membarrier: riscv: Core serializing command

From: Palmer Dabbelt
Date: Thu Feb 15 2024 - 19:57:50 EST


On Wed, 31 Jan 2024 06:49:32 PST (-0800), parri.andrea@xxxxxxxxx wrote:
Changes since v3 ([1]):
- amend documentation

Changes since v2 ([2]):
- amend inline comments
- drop ARCH_HAS_MEMBARRIER, create membarrrier.rst

Changes since v1 ([3]):
- add smp_mb() in switch_mm()
- introduce ARCH_HAS_MEMBARRIER, amend documentation

Changes since RFC ([4]):
- introduce prepare_sync_core_cmd()
- fix nosmp builds

[1] https://lore.kernel.org/lkml/20240110145533.60234-1-parri.andrea@xxxxxxxxx/
[2] https://lore.kernel.org/lkml/20231211094414.8078-1-parri.andrea@xxxxxxxxx/
[3] https://lore.kernel.org/lkml/20231127103235.28442-1-parri.andrea@xxxxxxxxx/
[4] https://lore.kernel.org/lkml/20230803040111.5101-1-parri.andrea@xxxxxxxxx/

Andrea Parri (4):
membarrier: riscv: Add full memory barrier in switch_mm()
membarrier: Create Documentation/scheduler/membarrier.rst
locking: Introduce prepare_sync_core_cmd()
membarrier: riscv: Provide core serializing command

.../membarrier-sync-core/arch-support.txt | 18 ++++++-
Documentation/scheduler/index.rst | 1 +
Documentation/scheduler/membarrier.rst | 39 +++++++++++++++
MAINTAINERS | 4 +-
arch/riscv/Kconfig | 4 ++
arch/riscv/include/asm/membarrier.h | 50 +++++++++++++++++++
arch/riscv/include/asm/sync_core.h | 29 +++++++++++
arch/riscv/mm/context.c | 2 +
include/linux/sync_core.h | 16 +++++-
init/Kconfig | 3 ++
kernel/sched/core.c | 16 ++++--
kernel/sched/membarrier.c | 13 +++--
12 files changed, 185 insertions(+), 10 deletions(-)
create mode 100644 Documentation/scheduler/membarrier.rst
create mode 100644 arch/riscv/include/asm/membarrier.h
create mode 100644 arch/riscv/include/asm/sync_core.h

I picked these up into my staging tree for the tester this morning, there's a few hiccups from my latest master merge but they don't seem super exciting. So it might take a bit for these to show up in my for-next, but they're headed in that direction.

LMK if you guys were aiming for some other tree, or want to do some sort of shared tag for them. Otherwise they'll show up in linux-next soon.

Thanks!