linux-stable-rt/mm
Oleg Nesterov 28324d1df6 [PATCH] select_bad_process(): kill a bogus PF_DEAD/TASK_DEAD check
The only one usage of TASK_DEAD outside of last schedule path,

select_bad_process:

	for_each_task(p) {

		if (!p->mm)
			continue;
		...
			if (p->state == TASK_DEAD)
				continue;
		...

TASK_DEAD state is set at the end of do_exit(), this means that p->mm
was already set == NULL by exit_mm(), so this task was already rejected
by 'if (!p->mm)' above.

Note also that the caller holds tasklist_lock, this means that p can't
pass exit_notify() and then set TASK_DEAD when p->mm != NULL.

Also, remove open-coded is_init().

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-29 09:18:21 -07:00
..
Kconfig
Makefile [PATCH] Extract the allocpercpu functions from the slab allocator 2006-09-26 08:48:51 -07:00
allocpercpu.c [PATCH] Extract the allocpercpu functions from the slab allocator 2006-09-26 08:48:51 -07:00
bootmem.c [PATCH] bootmem: use MAX_DMA_ADDRESS instead of LOW32LIMIT 2006-09-26 08:48:49 -07:00
fadvise.c
filemap.c [PATCH] mm: make filemap_nopage use NOPAGE_SIGBUS 2006-09-29 09:18:03 -07:00
filemap.h
filemap_xip.c
fremap.c
highmem.c
hugetlb.c [PATCH] NUMA: Add zone_to_nid function 2006-09-26 08:48:52 -07:00
internal.h
madvise.c
memory.c [PATCH] mm: fix a race condition under SMC + COW 2006-09-29 09:18:03 -07:00
memory_hotplug.c
mempolicy.c [PATCH] GFP_THISNODE for the slab allocator 2006-09-27 08:26:12 -07:00
mempool.c
migrate.c [PATCH] Define easier to handle GFP_THISNODE 2006-09-26 08:48:50 -07:00
mincore.c
mlock.c
mmap.c [PATCH] ZVC: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE 2006-09-26 08:48:51 -07:00
mmzone.c
mprotect.c
mremap.c
msync.c
nommu.c [PATCH] NOMMU: Make futexes work under NOMMU conditions 2006-09-27 08:26:15 -07:00
oom_kill.c [PATCH] select_bad_process(): kill a bogus PF_DEAD/TASK_DEAD check 2006-09-29 09:18:21 -07:00
page-writeback.c [PATCH] mm: non syncing lock_page() 2006-09-26 08:48:48 -07:00
page_alloc.c [PATCH] mm/page_alloc: use NULL instead of 0 for ptr 2006-09-27 08:26:13 -07:00
page_io.c [PATCH] swsusp: read speedup 2006-09-26 08:48:58 -07:00
pdflush.c
prio_tree.c
readahead.c
rmap.c
shmem.c [PATCH] inode-diet: Eliminate i_blksize from the inode structure 2006-09-27 08:26:18 -07:00
slab.c [PATCH] single bit flip detector 2006-09-29 09:18:10 -07:00
slob.c [PATCH] Make kmem_cache_destroy() return void 2006-09-27 08:26:11 -07:00
sparse.c
swap.c
swap_state.c
swapfile.c
thrash.c
tiny-shmem.c
truncate.c [PATCH] page invalidation cleanup 2006-09-27 08:26:12 -07:00
util.c
vmalloc.c [PATCH] Mark __remove_vm_area() static 2006-09-27 08:26:13 -07:00
vmscan.c [PATCH] page invalidation cleanup 2006-09-27 08:26:12 -07:00
vmstat.c [PATCH] zone_statistics: Use hot node instead of cold zone_pgdat 2006-09-27 08:26:13 -07:00