diff options
| author | Ingo Molnar <mingo@elte.hu> | 2002-09-22 21:46:05 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-09-22 21:46:05 -0700 |
| commit | 817fdd72fae82f7b43b06ee7733c8ede31a4365b (patch) | |
| tree | 6472d9b86a7601e57d3e4448b13e2d7abd401e19 /include/linux/init_task.h | |
| parent | 7641736676d476fb866d8750b2c94b671f9f8f9b (diff) | |
[PATCH] pidhash cleanups, tgid-2.5.38-F3
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.
Diffstat (limited to 'include/linux/init_task.h')
| -rw-r--r-- | include/linux/init_task.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 4bd8a09d2bbc..30f24600ea0b 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h @@ -76,7 +76,6 @@ .children = LIST_HEAD_INIT(tsk.children), \ .sibling = LIST_HEAD_INIT(tsk.sibling), \ .group_leader = &tsk, \ - .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(tsk.wait_chldexit),\ .real_timer = { \ .function = it_real_fn \ |
