From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756257AbdLVUPw (ORCPT ); Fri, 22 Dec 2017 15:15:52 -0500 Received: from mail.efficios.com ([167.114.142.141]:57699 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755940AbdLVUPs (ORCPT ); Fri, 22 Dec 2017 15:15:48 -0500 From: Mathieu Desnoyers To: Will Deacon , Peter Zijlstra , Andy Lutomirski , "Paul E . McKenney" Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, Boqun Feng , Andrew Hunter , Maged Michael , Avi Kivity , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Dave Watson , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Andrea Parri , Russell King , Greg Hackmann , David Sehr , Linus Torvalds , x86@kernel.org, Mathieu Desnoyers Subject: [RFC PATCH for 4.16 00/11] membarrier updates for 4.16 Date: Fri, 22 Dec 2017 15:15:25 -0500 Message-Id: <20171222201536.29809-1-mathieu.desnoyers@efficios.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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