Re: report a bug about sched_rt

From: Peter Zijlstra
Date: Fri Jul 24 2009 - 08:13:15 EST


On Fri, 2009-07-24 at 18:57 +0800, sen wang wrote:
> I find something is wrong about sched_rt.
>
> when I am debugging my system with rt_bandwidth_enabled, there is a
> running realtime FIFO task in the sched_rt running queue and
> the fair running queue is empty. I found the idle task will be
> scheduled up when the running task still lie in the sched_rt running
> queue!
>
> this will happen when rt runqueue passed it's rt_bandwidth_enabled
> runtime,then the scheduler choose the idle task instead of realtime
> FIFO task.
>
> the reason lie in: when scheduler try to pick up a realtime FIFO task,
> it will check if rt_throttled is enabled,
> if so, it'll return and try fair queue but it is empty, then it come
> to the sched_idle class.
>
> I don't think it reasonable, we should give the realtime FIFO task the
> chance, even when rt runqueue passed it's runtime.
> because it is cpu's free time.
>
> To fix it ,and keep rt_bandwidth works as before, I think
> pick_next_task_rt() is the best space,

RT is about determinism, sometimes having some extra time dependent on
the runnability of SCHED_OTHER tasks is utterly useless.

If you don't like the throttle, disable it.


--
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/