lkml.org 
[lkml]   [2015]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH 0/5] Optimize percpu-rwsem
    Hello, Linus.

    On Tue, May 26, 2015 at 11:12:04AM -0700, Linus Torvalds wrote:
    ...
    > Is there some new use that I don't know about? Have people really
    > looked at that uprobes code deeply? OF COURSE global locks will have
    > problems, I'm not at all convinced that "let's make that global lock
    > really complicated and clever" is the proper solution.

    I've posted a patchset to make threadgroup rwsem cgroup-specific (it
    is used only by cgroups) and replace the per-threadgroup rwsems with a
    global percpu_rwsem. This is primarily to allow either succeeding or
    failing migrations of multiple tasks atomically. We already try to do
    multiple task migrations in some corner cases and the unified
    hierarchy will make wider use of it. Currently, the implementation is
    broken as there's no easy way of reverting changes if the operation
    fails in the middle.

    Given that task migrations aren't particularly high frequency
    operations, a global percpu_rwsem is likely to be workable while being
    less tedious and slightly less costly for the usual fork/exit paths.

    That said, from cgroup's pov, write-locking per-threadgroup rwsems of
    all target tasks works too although we'd need an outer mutex to
    serialize down-write attempts to avoid locking order issues.

    Thanks.

    --
    tejun


    \
     
     \ /
      Last update: 2015-05-26 21:21    [W:4.469 / U:1.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site