Re: [PATCH] sched: Relax a restriction in sched_rt_can_attach()

Zefan Li
2015-05-04T04:39:39Z

On 2015/5/4 11:13, Mike Galbraith wrote:
> On Mon, 2015-05-04 at 08:54 +0800, Zefan Li wrote:
>> It's allowed to promote a task from normal to realtime after it has been
>> attached to a non-root cgroup, but it will fail if the attaching happens
>> after it has become realtime. I don't see how this restriction is useful.
>
> In the CONFIG_RT_GROUP_SCHED case, promotion will fail is there is no
> bandwidth allocated.
>

Right. I forgot to mention this patch affects !CONFIG_RT_GROUP_SCHED only,
though it should be obvious by reading the change.

>> We are moving toward unified hierarchy where all the cgroup controllers
>> are bound together, so it would make cgroups easier to use if we have less
>> restrictions on attaching tasks between cgroups.
>
> Forcing group scheduling overhead on users if they want cpuset or memory
> cgroup functionality would be far from wonderful. Am I interpreting the
> implications of this unification/binding properly?
>
> (I hope not, surely the plan is not to utterly _destroy_ cgroup utility)
>

Some degree of flexibility is provided so that you may disable some controllers
in a subtree. For example:

root ---> child1
(cpuset,memory,cpu) (cpuset,memory)
\
\-> child2
(cpu)