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

Zefan Li
2015-05-04T09:11:10Z

>>> 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)
>>
>> Whew, that's a relief. Thanks.
>
> But somehow I'm not feeling a whole lot better.
>
> "May" means if you don't explicitly take some action to disable group
> scheduling, you get it (I don't care if I have an off button), but that
> would also seemingly mean that we would then have rt tasks in taskgroups
> with no bandwidth allocated, ie you have to make group scheduling for rt
> tasks meaningless until a bandwidth appeared, and to make bandwidth
> appear, you'd have to stop the world, distribute, continue, no?
>
> The current "just say no" seems a lot more sensible.
>

I just realized we allow removing/adding controllers from/to cgroups
while there are tasks in them, which isn't safe unless we eliminate all
can_attach callbacks. We've done so for some cgroup subsystems, but
there are still a few of them...