]> git.neil.brown.name Git - history.git/commit
[PATCH] fix wait_task_inactive race
authorNick Piggin <nickpiggin@yahoo.com.au>
Mon, 7 Feb 2005 13:31:08 +0000 (05:31 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Mon, 7 Feb 2005 13:31:08 +0000 (05:31 -0800)
commit01c8df0425061f81f99107ca63e4f0a981ec7f6a
tree267e292d0c74c06381472de41bc61f092e6fbfa2
parent73f54a780c55e358f2b630db9f89be409426e588
[PATCH] fix wait_task_inactive race

When a task is put to sleep, it is dequeued from the runqueue while it is
still running.  The problem is that one some arches that have non-atomic
scheduling, the runqueue lock can be dropped and retaken in schedule() before
the task actually schedules off, and wait_task_inactive did not account for
this.

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/sched.c