• Eric W. Biederman's avatar
    [PATCH] pid: Implement transfer_pid and use it to simplify de_thread · c18258c6
    Eric W. Biederman authored
    In de_thread we move pids from one process to another, a rather ugly case.
    The function transfer_pid makes it clear what we are doing, and makes the
    action atomic.  This is useful we ever want to atomically traverse the
    process group and session lists, in a rcu safe manner.
    
    Even if the atomic properties this change should be a win as transfer_pid
    should be less code to execute than executing both attach_pid and
    detach_pid, and this should make de_thread slightly smaller as only a
    single function call needs to be emitted.  The only downside is that the
    code might be slower to execute as the odds are against transfer_pid being
    in cache.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Cc: Oleg Nesterov <oleg@tv-sign.ru>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    c18258c6
pid.c 8.7 KB