Re: [GIT PULL urgent-membarrier] membarrier commits for 4.14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux