Messages in this thread | | | Date | Thu, 19 Jun 2008 20:10:34 +0000 | From | "Daniel K." <> | Subject | Re: [PATCH 10/10] sched: rt: dont stop the period timer when there are tasks wanting to run |
| |
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@chello.nl> > Reported-by: "Daniel K." <dk@uw.no> Tested-by: Daniel K. <dk@uw.no>
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); >
| |