diff options
author | Paul Mackerras <paulus@samba.org> | 2007-08-28 15:56:11 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-08-28 15:56:11 +1000 |
commit | 35438c4327df18dbf5e7f597b69299119f4a14de (patch) | |
tree | a4589d731015db93f2eba8f84ffb1f48a8084020 /kernel/sched_rt.c | |
parent | 2f6c9d961081dc7b109eb19166244bcb2a5dfc28 (diff) | |
parent | b07d68b5ca4d55a16fab223d63d5fb36f89ff42f (diff) | |
download | blackbird-op-linux-35438c4327df18dbf5e7f597b69299119f4a14de.tar.gz blackbird-op-linux-35438c4327df18dbf5e7f597b69299119f4a14de.zip |
Merge branch 'linux-2.6' into for-2.6.24
Diffstat (limited to 'kernel/sched_rt.c')
-rw-r--r-- | kernel/sched_rt.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index dcdcad632fd9..4b87476a02d0 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -207,10 +207,15 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p) return; p->time_slice = static_prio_timeslice(p->static_prio); - set_tsk_need_resched(p); - /* put it at the end of the queue: */ - requeue_task_rt(rq, p); + /* + * Requeue to the end of queue if we are not the only element + * on the queue: + */ + if (p->run_list.prev != p->run_list.next) { + requeue_task_rt(rq, p); + set_tsk_need_resched(p); + } } static struct sched_class rt_sched_class __read_mostly = { |