public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH tip/core/rcu 0/3] Updates to sys_membarrier for v4.14 to add registration
@ 2017-10-04 21:37 Paul E. McKenney
  2017-10-04 21:37 ` [PATCH tip/core/rcu 1/3] membarrier: Provide register expedited private command Paul E. McKenney
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Paul E. McKenney @ 2017-10-04 21:37 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, jiangshanlai, dipankar, akpm, mathieu.desnoyers, josh,
	tglx, peterz, rostedt, dhowells, edumazet, fweisbec, oleg

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(-)

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-10-07 15:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-04 21:37 [PATCH tip/core/rcu 0/3] Updates to sys_membarrier for v4.14 to add registration Paul E. McKenney
2017-10-04 21:37 ` [PATCH tip/core/rcu 1/3] membarrier: Provide register expedited private command Paul E. McKenney
2017-10-05  4:23   ` Nicholas Piggin
2017-10-05 12:22     ` Avi Kivity
2017-10-05 15:54       ` Mathieu Desnoyers
2017-10-05 15:53     ` Mathieu Desnoyers
2017-10-05 12:12   ` Peter Zijlstra
2017-10-05 12:24     ` Peter Zijlstra
2017-10-05 16:05       ` Mathieu Desnoyers
2017-10-05 16:02     ` Mathieu Desnoyers
2017-10-05 16:21       ` Peter Zijlstra
2017-10-05 21:44         ` Mathieu Desnoyers
2017-10-05 22:02       ` Andrea Parri
2017-10-05 22:19         ` Mathieu Desnoyers
2017-10-05 22:46           ` Steven Rostedt
2017-10-06  8:32           ` Peter Zijlstra
2017-10-07 15:10             ` Andrea Parri
2017-10-04 21:37 ` [PATCH tip/core/rcu 2/3] membarrier: selftest: Test private expedited cmd Paul E. McKenney
2017-10-04 21:37 ` [PATCH tip/core/rcu 3/3] membarrier: Document scheduler barrier requirements Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox