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

From: Andrea Parri
Date: Mon Dec 11 2023 - 04:44:37 EST


Changes since v1 ([1]):

Add patch 1/4 to resolve the "sync core" scenario reported by Mathieu
in [1] and meet the requirement of the membarrier "private expedited"
command.

Miscellaneous improvements/additions to documentation and MAINTAINERS
files. Follow up on Mathieu's suggestion in [1] to introduce a Kconfig
/feature for the latter command (patch 4/4).

N.B. Patch 4/4 is in RFC-mode, the plan being to submit this patch to
the various archs/doc lists (more likely, as a stand-alone patch) once
I've got some ack/positive feedback from the MEMBARRIER maintainers.

Andrea

[1] https://lore.kernel.org/all/20231127103235.28442-1-parri.andrea@xxxxxxxxx/

Andrea Parri (4):
membarrier: riscv: Add full memory barrier in switch_mm()
locking: Introduce prepare_sync_core_cmd()
membarrier: riscv: Provide core serializing command
membarrier: Introduce Kconfig ARCH_HAS_MEMBARRIER

.../membarrier-sync-core/arch-support.txt | 18 ++++++-
.../sched/membarrier/arch-support.txt | 50 +++++++++++++++++++
MAINTAINERS | 4 +-
arch/alpha/Kconfig | 1 +
arch/arc/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/arm64/Kconfig | 1 +
arch/hexagon/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/powerpc/Kconfig | 1 +
arch/riscv/Kconfig | 5 ++
arch/riscv/include/asm/membarrier.h | 48 ++++++++++++++++++
arch/riscv/include/asm/sync_core.h | 29 +++++++++++
arch/riscv/mm/context.c | 2 +
arch/s390/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/x86/Kconfig | 1 +
include/linux/sync_core.h | 16 +++++-
init/Kconfig | 6 +++
kernel/sched/core.c | 9 ++--
kernel/sched/membarrier.c | 16 +++++-
21 files changed, 204 insertions(+), 9 deletions(-)
create mode 100644 Documentation/features/sched/membarrier/arch-support.txt
create mode 100644 arch/riscv/include/asm/membarrier.h
create mode 100644 arch/riscv/include/asm/sync_core.h

--
2.34.1