From: Mathieu Desnoyers <mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
To: Ingo Molnar <mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Andy Lutomirski <luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"Paul E . McKenney"
<paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>,
Boqun Feng <boqun.feng-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Andrew Hunter <ahh-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Maged Michael
<maged.michael-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Avi Kivity <avi-VrcmuVmyx1hWk0Htik3J/w@public.gmane.org>,
Benjamin Herrenschmidt
<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
Paul Mackerras <paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>,
Michael Ellerman <mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org>,
Dave Watson <davejwatson-b10kYP2dOMg@public.gmane.org>,
Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
"H . Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
Andrea Parri
<parri.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Russell King <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
Greg Hackmann <ghackmann-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
David Sehr <sehr-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
x86@kernel.
Subject: [PATCH for 4.16 00/11] membarrier updates for 4.16
Date: Wed, 10 Jan 2018 10:46:14 -0500 [thread overview]
Message-ID: <20180110154625.4319-1-mathieu.desnoyers@efficios.com> (raw)
Hi Ingo, Hi Peter,
Here are the membarrier patch series I would like to upstream for 4.16.
It would be appreciated of those can go through the tip tree.
Highlights:
"Fix: membarrier: add missing preempt off around smp_call_function_many"
is in the series mainly because the following patches apply on top of
it. Ingo pulled it into tip/sched/urgent already.
"powerpc: membarrier: Skip memory barrier in switch_mm()" takes care of
a TODO that was left in the private expedited implementation when merged
in 4.14: an extra memory barrier was added on context switch on powerpc.
Ensure that the barrier is only performed when scheduling between
different processes, only for threads belonging to processes that have
registered their intent to use the private expedited command.
"membarrier: provide SHARED_EXPEDITED command" adds new commands to
membarrier for registration and use of membarrier across shared
memory mappings. The non-expedited command has proven to be really
too slow (taking 10ms and more to complete) for real-world use. The
expedited version completes in a matter of microseconds.
"membarrier: Provide core serializing command" provides core
serialization for JIT reclaim. We received positive feedback from
Android developers that the proposed ABI fits their use-case.
Only x86 32/64 and arm 64 implement this command so far. This is
opt-in per architecture.
The other patches add selftests and documentation.
Let me know if anything raises uneasiness, or seems unfit for 4.16.
Thanks!
Mathieu
Mathieu Desnoyers (11):
Fix: membarrier: add missing preempt off around smp_call_function_many
membarrier: selftest: Test private expedited cmd
powerpc: membarrier: Skip memory barrier in switch_mm()
membarrier: Document scheduler barrier requirements
membarrier: provide SHARED_EXPEDITED command
membarrier: selftest: Test shared expedited cmd
membarrier: Provide core serializing command
x86: Introduce sync_core_before_usermode
membarrier: x86: Provide core serializing command
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
next reply other threads:[~2018-01-10 15:46 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-10 15:46 Mathieu Desnoyers [this message]
2018-01-10 15:46 ` [PATCH for 4.16 01/11] Fix: membarrier: add missing preempt off around smp_call_function_many Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v2 for 4.16 02/11] membarrier: selftest: Test private expedited cmd Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v7 for 4.16 03/11] powerpc: membarrier: Skip memory barrier in switch_mm() Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v5 for 4.16 04/11] membarrier: Document scheduler barrier requirements Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v2 for 4.16 05/11] membarrier: provide SHARED_EXPEDITED command Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v2 for 4.16 08/11] x86: Introduce sync_core_before_usermode Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH v3 for 4.16 09/11] membarrier: x86: Provide core serializing command Mathieu Desnoyers
[not found] ` <20180110154625.4319-1-mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
2018-01-10 15:46 ` [PATCH for 4.16 06/11] membarrier: selftest: Test shared expedited cmd Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH for 4.16 07/11] membarrier: Provide core serializing command Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH for 4.16 10/11] membarrier: arm64: " Mathieu Desnoyers
2018-01-10 15:46 ` [PATCH for 4.16 11/11] membarrier: selftest: Test private expedited sync core cmd Mathieu Desnoyers
-- strict thread matches above, loose matches on Subject: below --
2018-01-17 16:54 [PATCH for 4.16 00/11] membarrier updates for 4.16 Mathieu Desnoyers
2018-01-23 15:57 Mathieu Desnoyers
2018-01-29 16:02 ` Mathieu Desnoyers
2018-01-29 17:40 ` Linus Torvalds
[not found] ` <CA+55aFxdqXJidPLFb--pa8cmJnepzGpLRD=gNXgktkjNW+jJug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-05 16:33 ` Ingo Molnar
[not found] ` <20180205163353.llyamby4o7ajsvt7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-02-05 17:23 ` Linus Torvalds
[not found] ` <CA+55aFw9r1bLhPZ8bOApD7dBPTtFLBk+A71qLNF+XrEOL8+1oA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-02-05 18:33 ` Ingo Molnar
2018-02-05 18:53 ` Mathieu Desnoyers
[not found] ` <1659703322.16254.1517856780591.JavaMail.zimbra-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
2018-02-05 19:49 ` Ingo Molnar
2018-02-05 19:54 ` Linus Torvalds
[not found] ` <20180123155733.3404-1-mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
2018-01-29 19:13 ` Peter Zijlstra
2018-01-29 20:20 Mathieu Desnoyers
[not found] ` <20180129202020.8515-1-mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org>
2018-02-05 21:21 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180110154625.4319-1-mathieu.desnoyers@efficios.com \
--to=mathieu.desnoyers-vg+e7yoek/dwk0htik3j/w@public.gmane.org \
--cc=ahh-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=avi-VrcmuVmyx1hWk0Htik3J/w@public.gmane.org \
--cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
--cc=boqun.feng-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=davejwatson-b10kYP2dOMg@public.gmane.org \
--cc=ghackmann-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org \
--cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=maged.michael-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org \
--cc=parri.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=paulmck-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
--cc=paulus-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org \
--cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=sehr-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
--cc=x86@kernel. \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).