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

Mike Galbraith
2015-05-04T12:08:33Z

On Mon, 2015-05-04 at 17:11 +0800, Zefan Li wrote:
> >>> 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...

I was pondering the future (or so I thought), but seems it turned into
the past while I wasn't looking. Oh well, you found a bug anyway.

-Mike