[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231211094414.8078-1-parri.andrea@gmail.com>
Date: Mon, 11 Dec 2023 10:44:10 +0100
From: Andrea Parri <parri.andrea@...il.com>
To: mathieu.desnoyers@...icios.com, paulmck@...nel.org,
palmer@...belt.com, paul.walmsley@...ive.com, aou@...s.berkeley.edu
Cc: mmaas@...gle.com, hboehm@...gle.com, striker@...ibm.com,
charlie@...osinc.com, rehn@...osinc.com,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
Andrea Parri <parri.andrea@...il.com>
Subject: [PATCH v2 0/4] membarrier: riscv: Core serializing command
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@gmail.com/
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
Powered by blists - more mailing lists