----- On Oct 18, 2017, at 3:59 PM, Paul E. McKenney paulmck@xxxxxxxxxxxxxxxxxx wrote: > Hello, Linus, Hi Linus, Time did fly since I submitted this series near the beginning of the 4.14 rc cycle. Now that we are closer to the end of the cycle, a more surgical approach would be more appropriate. I have prepared the minimal patch that needs to be applied to modify the user-space visible ABI before the end of the 4.14 cycle. I will send that patch to you directly, hoping you can apply it before the end of the 4.14 cycle. Thanks, Mathieu > > This urgent pull request contains five commits that fix 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 > pull request. > > The last two commits remove unused code from architectures not supporting > sys_membarrier() and fix a problem that arises when tasks are created > with CLONE_VM but !CLONE_THREAD on powerpc. > > These have been subject to 0day test robot and -next testing and > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git > membarrier.2017.10.09a > > for you to fetch changes up to f7399e01ccd0850786bdedbee2fd351651ce99f8: > > Fix: membarrier: Handle CLONE_VM + !CLONE_THREAD correctly on powerpc > (2017-10-09 14:24:49 -0700) > > ---------------------------------------------------------------- > Mathieu Desnoyers (5): > membarrier: Provide register expedited private command > membarrier: selftest: Test private expedited cmd > membarrier: Document scheduler barrier requirements > membarrier: Remove unused code for architectures without membarrier hooks > Fix: membarrier: Handle CLONE_VM + !CLONE_THREAD correctly on powerpc > > MAINTAINERS | 2 + > arch/powerpc/Kconfig | 1 + > arch/powerpc/include/asm/membarrier.h | 26 +++++ > arch/powerpc/kernel/Makefile | 2 + > arch/powerpc/kernel/membarrier.c | 36 +++++++ > 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 | 37 +++++++ > include/uapi/linux/membarrier.h | 23 +++-- > init/Kconfig | 3 + > kernel/sched/core.c | 47 +++++---- > kernel/sched/membarrier.c | 35 ++++++- > .../testing/selftests/membarrier/membarrier_test.c | 109 ++++++++++++++++++--- > 15 files changed, 290 insertions(+), 47 deletions(-) > create mode 100644 arch/powerpc/include/asm/membarrier.h > create mode 100644 arch/powerpc/kernel/membarrier.c -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com