[RFC PATCH for 4.16 00/11] membarrier updates for 4.16

From: Mathieu Desnoyers
Date: Fri Dec 22 2017 - 15:15:54 EST


Hi,

I decided to split the membarrier updates from the rseq patchset, and
send it separately so each discussion can happen in different threads.

This series includes a fix for membarrier private expedited, which
should be merged into 4.15-rc and backported to 4.14. The fix has
also been sent separately.

Testing and documentation of membarrier is improved. A new shared
expedited membarrier command is added, allowing use of membarrier
expedited over shared memory mappings.

The series also introduces a "core serializing" private expedited
membarrier for JIT memory reclaim (currently on x86 and arm64).

Feedback is welcome!

Thanks,

Mathieu

Mathieu Desnoyers (11):
Fix: membarrier: add missing preempt off around smp_call_function_many
membarrier: selftest: Test private expedited cmd (v2)
powerpc: membarrier: Skip memory barrier in switch_mm() (v7)
membarrier: Document scheduler barrier requirements (v5)
membarrier: provide SHARED_EXPEDITED command (v2)
membarrier: selftest: Test shared expedited cmd
membarrier: Provide core serializing command
x86: Introduce sync_core_before_usermode (v2)
membarrier: x86: Provide core serializing command (v3)
membarrier: arm64: Provide core serializing command
membarrier: selftest: Test private expedited sync core cmd

MAINTAINERS | 1 +
arch/arm64/Kconfig | 1 +
arch/arm64/kernel/entry.S | 4 +
arch/powerpc/Kconfig | 1 +
arch/powerpc/include/asm/membarrier.h | 27 +++
arch/powerpc/mm/mmu_context.c | 7 +
arch/x86/Kconfig | 2 +
arch/x86/entry/entry_32.S | 5 +
arch/x86/entry/entry_64.S | 4 +
arch/x86/include/asm/processor.h | 10 +
arch/x86/mm/tlb.c | 6 +
include/linux/processor.h | 6 +
include/linux/sched/mm.h | 40 +++-
include/uapi/linux/membarrier.h | 66 +++++-
init/Kconfig | 9 +
kernel/sched/core.c | 53 +++--
kernel/sched/membarrier.c | 173 +++++++++++++--
.../testing/selftests/membarrier/membarrier_test.c | 235 +++++++++++++++++++--
18 files changed, 587 insertions(+), 63 deletions(-)
create mode 100644 arch/powerpc/include/asm/membarrier.h

--
2.11.0