[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171004213734.GA11463@linux.vnet.ibm.com>
Date: Wed, 4 Oct 2017 14:37:34 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org
Cc: mingo@...nel.org, jiangshanlai@...il.com, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
josh@...htriplett.org, tglx@...utronix.de, peterz@...radead.org,
rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
fweisbec@...il.com, oleg@...hat.com
Subject: [PATCH tip/core/rcu 0/3] Updates to sys_membarrier for v4.14 to add
registration
Hello!
This post-merge-window series fixes a problem that arose when designing
requested extensions to sys_membarrier() to allow JITs to efficiently
flush old code from instruction caches. Several potential algorithms are
much less painful if the user register intent to use this functionality
early on, for example, before the process spawns the second thread.
Registering at this time removes the need to interrupt each and every
thread in that process at the first expedited sys_membarrier() system
call.
However, if we let the current function out, then user programs might
be written without registration, which would make it more difficult to
add required registration after the fact. Hence the late-in-merge-window
request. (Ingo, pull request on its way as well.)
1. Provide register expedited private command.
2. Test private expedited cmd.
3. Document scheduler barrier requirements.
All courtesy of Mathieu Desnoyers.
Thanx, Paul
------------------------------------------------------------------------
MAINTAINERS | 2
arch/powerpc/Kconfig | 1
arch/powerpc/include/asm/membarrier.h | 43 +++++++
arch/powerpc/include/asm/thread_info.h | 3
arch/powerpc/kernel/Makefile | 2
arch/powerpc/kernel/membarrier.c | 45 +++++++
arch/powerpc/mm/mmu_context.c | 7 +
arch/x86/mm/tlb.c | 5
fs/exec.c | 1
include/linux/mm_types.h | 3
include/linux/sched/mm.h | 55 +++++++++
include/uapi/linux/membarrier.h | 23 ++--
init/Kconfig | 3
kernel/fork.c | 2
kernel/sched/core.c | 47 ++++----
kernel/sched/membarrier.c | 25 +++-
tools/testing/selftests/membarrier/membarrier_test.c | 109 ++++++++++++++++---
17 files changed, 329 insertions(+), 47 deletions(-)
Powered by blists - more mailing lists