From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754228AbdKJVhb (ORCPT ); Fri, 10 Nov 2017 16:37:31 -0500 Received: from mail.efficios.com ([167.114.142.141]:40268 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753840AbdKJVh3 (ORCPT ); Fri, 10 Nov 2017 16:37:29 -0500 From: Mathieu Desnoyers To: Boqun Feng , Peter Zijlstra , "Paul E . McKenney" Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, Andy Lutomirski , 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 , Will Deacon , David Sehr , Linus Torvalds , x86@kernel.org, Mathieu Desnoyers Subject: [RFC PATCH for 4.15 0/9] membarrier updates for 4.15 Date: Fri, 10 Nov 2017 16:37:07 -0500 Message-Id: <20171110213717.12457-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 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Desnoyers Subject: [RFC PATCH for 4.15 0/9] membarrier updates for 4.15 Date: Fri, 10 Nov 2017 16:37:07 -0500 Message-ID: <20171110213717.12457-1-mathieu.desnoyers@efficios.com> Return-path: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Boqun Feng , Peter Zijlstra , "Paul E . McKenney" Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andy Lutomirski , 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 , Will Deacon , David Sehr , Linus Torvalds , x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, Mathieu Desnoyers List-Id: linux-api@vger.kernel.org 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