linux-riscv.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] membarrier: riscv: Core serializing command
@ 2023-12-11  9:44 Andrea Parri
  2023-12-11  9:44 ` [PATCH v2 1/4] membarrier: riscv: Add full memory barrier in switch_mm() Andrea Parri
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Andrea Parri @ 2023-12-11  9:44 UTC (permalink / raw)
  To: mathieu.desnoyers, paulmck, palmer, paul.walmsley, aou
  Cc: mmaas, hboehm, striker, charlie, rehn, linux-riscv, linux-kernel,
	Andrea Parri

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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-12-11 16:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-11  9:44 [PATCH v2 0/4] membarrier: riscv: Core serializing command Andrea Parri
2023-12-11  9:44 ` [PATCH v2 1/4] membarrier: riscv: Add full memory barrier in switch_mm() Andrea Parri
2023-12-11 13:39   ` Mathieu Desnoyers
2023-12-11  9:44 ` [PATCH v2 2/4] locking: Introduce prepare_sync_core_cmd() Andrea Parri
2023-12-11  9:44 ` [PATCH v2 3/4] membarrier: riscv: Provide core serializing command Andrea Parri
2023-12-11 13:55   ` Mathieu Desnoyers
2023-12-11 16:46     ` Andrea Parri
2023-12-11  9:44 ` [RFC PATCH 4/4] membarrier: Introduce Kconfig ARCH_HAS_MEMBARRIER Andrea Parri
2023-12-11 13:34   ` Mathieu Desnoyers
2023-12-11 16:53     ` Andrea Parri
2023-12-11 16:54       ` Mathieu Desnoyers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).