Re: [PATCH 10/10] sched: rt: dont stop the period timer when thereare tasks wanting to run

From: Daniel K.
Date: Thu Jun 19 2008 - 16:14:46 EST


Peter Zijlstra wrote:
When a runnable group failed to get any runtime within a period it would be
found idle and the period timer would be stopped.

So if the group ever gets throttled, it will never wake up again.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Reported-by: "Daniel K." <dk@xxxxx>
Tested-by: Daniel K. <dk@xxxxx>

I think this should go into .26 as well, due to the non-intuitiveness
of the knobs that cause this if they are fiddled with in the wrong way.


Daniel K.

---
kernel/sched_rt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/kernel/sched_rt.c
===================================================================
--- linux-2.6.orig/kernel/sched_rt.c
+++ linux-2.6/kernel/sched_rt.c
@@ -408,7 +408,8 @@ static int do_sched_rt_period_timer(stru
if (rt_rq->rt_time || rt_rq->rt_nr_running)
idle = 0;
spin_unlock(&rt_rq->rt_runtime_lock);
- }
+ } else if (rt_rq->rt_nr_running)
+ idle = 0;
if (enqueue)
sched_rt_rq_enqueue(rt_rq);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/