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

From: Mathieu Desnoyers
Date: Fri Nov 10 2017 - 16:37:34 EST


Those are the membarrier changes I plan to submit for 4.15.

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.

I included the x86 core serializing migration fix into that series,
given that this fix and membarrier sync_core both depend on the
new sync_core_before_usermode() architecture function.

Feedback is welcome,

Thanks,

Mathieu

Mathieu Desnoyers (10):
membarrier: selftest: Test private expedited cmd
membarrier: powerpc: Skip memory barrier in switch_mm() (v7)
membarrier: Document scheduler barrier requirements (v5)
membarrier: Provide core serializing command
x86: Introduce sync_core_before_usermode
Fix: x86: Add missing core serializing instruction on migration
membarrier: x86: Provide core serializing command (v2)
membarrier: selftest: Test private expedited sync core cmd
membarrier: provide SHARED_EXPEDITED command
membarrier: selftest: Test shared expedited cmd

MAINTAINERS | 1 +
arch/powerpc/Kconfig | 1 +
arch/powerpc/include/asm/membarrier.h | 26 +++
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/processor.h | 10 +
arch/x86/mm/tlb.c | 6 +
include/linux/processor.h | 6 +
include/linux/sched/mm.h | 38 +++-
include/uapi/linux/membarrier.h | 66 +++++-
init/Kconfig | 6 +
kernel/sched/core.c | 60 ++++--
kernel/sched/membarrier.c | 169 +++++++++++++--
kernel/sched/sched.h | 1 +
.../testing/selftests/membarrier/membarrier_test.c | 233 +++++++++++++++++++--
17 files changed, 584 insertions(+), 61 deletions(-)
create mode 100644 arch/powerpc/include/asm/membarrier.h

--
2.11.0