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

Reply via email to