[RFC PATCH for 4.15 0/6] membarrier updates for 4.15

From: Mathieu Desnoyers
Date: Wed Nov 08 2017 - 13:35:43 EST


Here are the membarrier changes I plan on sending for the
4.15 merge window.

This series includes selftests improvements for sys_membarrier,
improvement of powerpc handling of the memory barrier required
by sys_membarrier in switch_mm(), and adds a new core serializing
membarrier, currently only implemented on x86. Architectures
wishing to provide the core serializing membarrier need to
select ARCH_HAS_MEMBARRIER_SYNC_CORE and document how they
provide the core serialization required by that command in their
architecture code.

Andy, I know you told me you had changes coming up in x86 entry.S
for 4.15, but I figure that managing the merge conflict between your
changes in 4.15 and those added comments should be straightforward.
Anyway, I kind of suspect that at any given point in time you will
always have changes of some sort to propose to entry.S, so now seems
to be a time as appropriate as ever to push the core serializing
membarrier comments.

Feedback is welcome!

Thanks,

Mathieu

Mathieu Desnoyers (6):
membarrier: selftest: Test private expedited cmd
membarrier: powerpc: Skip memory barrier in switch_mm() (v6)
membarrier: Document scheduler barrier requirements (v5)
membarrier: Provide core serializing command
membarrier: x86: Provide core serializing command
membarrier: selftest: Test private expedited sync core cmd

MAINTAINERS | 2 +
arch/powerpc/Kconfig | 1 +
arch/powerpc/include/asm/membarrier.h | 32 ++++
arch/powerpc/kernel/Makefile | 2 +
arch/powerpc/kernel/membarrier.c | 37 ++++
arch/powerpc/mm/mmu_context.c | 7 +
arch/x86/Kconfig | 2 +
arch/x86/entry/entry_32.S | 5 +
arch/x86/entry/entry_64.S | 8 +
arch/x86/include/asm/membarrier.h | 36 ++++
arch/x86/kernel/Makefile | 1 +
arch/x86/kernel/membarrier.c | 39 +++++
arch/x86/mm/tlb.c | 6 +
include/linux/sched/mm.h | 36 +++-
include/uapi/linux/membarrier.h | 14 +-
init/Kconfig | 6 +
kernel/sched/core.c | 53 +++---
kernel/sched/membarrier.c | 55 ++++--
.../testing/selftests/membarrier/membarrier_test.c | 186 +++++++++++++++++++--
19 files changed, 470 insertions(+), 58 deletions(-)
create mode 100644 arch/powerpc/include/asm/membarrier.h
create mode 100644 arch/powerpc/kernel/membarrier.c
create mode 100644 arch/x86/include/asm/membarrier.h
create mode 100644 arch/x86/kernel/membarrier.c

--
2.11.0