aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <a.p.zijlstra@chello.nl>2008-06-19 08:22:28 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-20 04:26:02 -0400
commit6c3df25511c2c51f2dd36cc52a8d22363d731793 (patch)
tree80ef006084108ebca3d49f6635a62d8ee261abe8 /kernel
parent10b612f440a22a294e87ec7e8f03f9eea3338628 (diff)
sched: rt: dont stop the period timer when there are tasks wanting to run
So if the group ever gets throttled, it will never wake up again. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: "Daniel K." <dk@uw.no> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Reported-by: "Daniel K." <dk@uw.no>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched_rt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c
index 61d52112289c..bd90c8bb0739 100644
--- a/kernel/sched_rt.c
+++ b/kernel/sched_rt.c
@@ -412,7 +412,8 @@ static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
412 if (rt_rq->rt_time || rt_rq->rt_nr_running) 412 if (rt_rq->rt_time || rt_rq->rt_nr_running)
413 idle = 0; 413 idle = 0;
414 spin_unlock(&rt_rq->rt_runtime_lock); 414 spin_unlock(&rt_rq->rt_runtime_lock);
415 } 415 } else if (rt_rq->rt_nr_running)
416 idle = 0;
416 417
417 if (enqueue) 418 if (enqueue)
418 sched_rt_rq_enqueue(rt_rq); 419 sched_rt_rq_enqueue(rt_rq);