• Ingo Molnar's avatar
    [PATCH] pidhash cleanups, tgid-2.5.38-F3 · 817fdd72
    Ingo Molnar authored
    This does the following things:
    
     - removes the ->thread_group list and uses a new PIDTYPE_TGID pid class
       to handle thread groups. This cleans up lots of code in signal.c and
       elsewhere.
    
     - fixes sys_execve() if a non-leader thread calls it. (2.5.38 crashed in
       this case.)
    
     - renames list_for_each_noprefetch to __list_for_each.
    
     - cleans up delayed-leader parent notification.
    
     - introduces link_pid() to optimize PIDTYPE_TGID installation in the
       thread-group case.
    
    I've tested the patch with a number of threaded and non-threaded
    workloads, and it works just fine. Compiles & boots on UP and SMP x86.
    
    The session/pgrp bugs reported to lkml are probably still open, they are
    the next on my todo - now that we have a clean pidhash architecture they
    should be easier to fix.
    817fdd72
sched.h 28.5 KB