From 844541e604d0d92ec4baf30f5c1892f9a5e8fb80 Mon Sep 17 00:00:00 2001 From: Dmitry Adamushko Date: Fri, 24 Aug 2007 20:39:10 +0200 Subject: [PATCH] --- yaml --- r: 64370 b: refs/heads/master c: 98fbc798533339be802c6dcd48c2293c712e87db h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/sched_rt.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index d066ebca927c..e1b0f2f53350 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: deac4ee65af4befb66b542e4a782e63da93b51a0 +refs/heads/master: 98fbc798533339be802c6dcd48c2293c712e87db diff --git a/trunk/kernel/sched_rt.c b/trunk/kernel/sched_rt.c index dcdcad632fd9..4b87476a02d0 100644 --- a/trunk/kernel/sched_rt.c +++ b/trunk/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 = {