linux/fs/proc
Oleg Nesterov b0fa9db6ab [PATCH] proc: drop tasklist lock in task_state()
task_state() needs tasklist_lock to protect ->parent/->real_parent.  However
task->parent points to nowhere only when the actions below happen in order

	1) release_task(task)
	2) release_task(task->parent)
	3) a grace period passed

But 3) implies that the memory ops from 1) should be finished, so pid_alive()
can't be true in such a case.

Otherwise, we don't care if ->parent/->real_parent changes under us.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-02 07:57:24 -07:00
..
array.c [PATCH] proc: drop tasklist lock in task_state() 2006-10-02 07:57:24 -07:00
base.c [PATCH] proc: Use pid_task instead of open coding it 2006-10-02 07:57:24 -07:00
generic.c [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
inode-alloc.txt
inode.c Mark /proc MS_NOSUID and MS_NOEXEC 2006-07-15 12:20:05 -07:00
internal.h [PATCH] NOMMU: Implement /proc/pid/maps for NOMMU 2006-09-27 08:26:14 -07:00
kcore.c [PATCH] Kcore elf note namesz field fix 2006-09-29 09:18:25 -07:00
kmsg.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
Makefile [PATCH] kdump: Access dump file in elf format (/proc/vmcore) 2005-06-25 16:24:53 -07:00
mmu.c [PATCH] fix impossible VmallocChunk 2005-05-17 07:59:10 -07:00
nommu.c [PATCH] NOMMU: Implement /proc/pid/maps for NOMMU 2006-09-27 08:26:14 -07:00
proc_devtree.c [PATCH] powerpc: Cope with duplicate node & property names in /proc/device-tree 2006-03-28 16:45:23 +11:00
proc_misc.c [PATCH] Define struct pspace 2006-10-02 07:57:15 -07:00
proc_tty.c
root.c [PATCH] proc: give the root directory a task 2006-10-02 07:57:13 -07:00
task_mmu.c [PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place 2006-09-27 08:26:15 -07:00
task_nommu.c [PATCH] NOMMU: Implement /proc/pid/maps for NOMMU 2006-09-27 08:26:14 -07:00
vmcore.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00