Re: [PATCH] sched/rt: fix SCHED_RR across cgroups

From: Colin Cross
Date: Fri May 18 2012 - 13:52:05 EST


On Fri, May 18, 2012 at 1:56 AM, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
> On Wed, 2012-05-16 at 21:34 -0700, Colin Cross wrote:
>> task_tick_rt has an optimization to only reschedule SCHED_RR tasks
>> if they were the only element on their rq.  However, with cgroups
>> a SCHED_RR task could be the only element on its per-cgroup rq but
>> still be competing with other SCHED_RR tasks in its parent's
>> cgroup.  In this case, the SCHED_RR task in the child cgroup would
>> never yield at the end of its timeslice.  If the child cgroup
>> rt_runtime_us was the same as the parent cgroup rt_runtime_us,
>> the task in the parent cgroup would starve completely.
>>
>> Modify task_tick_rt to check that the task is the only task on its
>> rq, and that the each of the scheduling entities of its ancestors
>> is also the only entity on its rq.
>>
>> Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx>
>
> OK, fair enough.. one does wonder though, WTH is android doing with
> SCHED_RR?

Nothing, I was just experimenting with how it interacted with cgroups
and the numbers didn't make sense.
--
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/