• E
    [PATCH] pid: Implement transfer_pid and use it to simplify de_thread · c18258c6
    Eric W. Biederman 提交于
    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: NEric W. Biederman <ebiederm@xmission.com>
    Cc: Oleg Nesterov <oleg@tv-sign.ru>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    c18258c6
pid.h 3.5 KB