Re: [PATCH] sched, autogroup: Fix failure when writing to cpu.rt_runtime_us

From: Zefan Li
Date: Mon Feb 09 2015 - 20:26:39 EST


> Subject: sched, autogroup: Fix failure to set cpu.rt_runtime_us
> From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Date: Mon Feb 9 11:53:18 CET 2015
>
> Because task_group() uses a cache of autogroup_task_group(), whoes
> output depends on sched_class, switching classes can generate
> problems.
>
> In particular, when started as fair, the cache points to the
> autogroup, so when switching to RT the tg_rt_schedulable() test fails
> for every cpu.rt_{runtime,period}_us change because now the autogroup
> has tasks and no runtime.
>
> Furthermore, going back to the previous semantics of varying
> task_group() with sched_class has the down-side that the sched_debug
> output varies as well, even though the task really is in the
> autogroup.
>
> Therefore add an autogroup exception to tg_has_rt_tasks() -- such that
> both (all) task_group() usages in sched/core now have one. And remove
> all the remnants of the variable task_group() output.
>
> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx>
> Cc: Stefan Bader <stefan.bader@xxxxxxxxxxxxx>
> Reported-by: Zefan Li <lizefan@xxxxxxxxxx>
> Fixes: 8323f26ce342 ("sched: Fix race in task_group()")
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

Both patches look good to me.

Thanks!

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