sched: fix RT task-wakeup logic
authorGregory Haskins <ghaskins@novell.com>
Wed, 23 Apr 2008 11:13:29 +0000 (07:13 -0400)
committerIngo Molnar <mingo@elte.hu>
Mon, 5 May 2008 21:56:18 +0000 (23:56 +0200)
commit8ae121ac8666b0421aa20fd80d4597ec66fa54bc
tree1db411965b1b12029d501ea10ab90fbc8aa4ec62
parent983ed7a66bcec9dc307d89dc7af47cdf209e56af
sched: fix RT task-wakeup logic

Dmitry Adamushko pointed out a logic error in task_wake_up_rt() where we
will always evaluate to "true".  You can find the thread here:

http://lkml.org/lkml/2008/4/22/296

In reality, we only want to try to push tasks away when a wake up request is
not going to preempt the current task.  So lets fix it.

Note: We introduce test_tsk_need_resched() instead of open-coding the flag
check so that the merge-conflict with -rt should help remind us that we
may need to support NEEDS_RESCHED_DELAYED in the future, too.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
CC: Dmitry Adamushko <dmitry.adamushko@gmail.com>
CC: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/sched.h
kernel/sched_rt.c