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

Mike Galbraith
2015-05-05T06:02:40Z

On Tue, 2015-05-05 at 11:46 +0800, Zefan Li wrote:
> On 2015/5/4 22:09, Mike Galbraith wrote:
> > On Mon, 2015-05-04 at 14:37 +0200, Peter Zijlstra wrote:
> >> On Mon, May 04, 2015 at 05:11:10PM +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)
> >>
> >> Uhm, how does that work? Would a task their effective cgroup be the
> >> first parent that has a controller enabled?
> >>
> >> In particular, in your example, if T were part of child1, would its cpu
> >> controller be root?
>
> correct.
>
> >
> > That's what I'd hope for. I wanted to try that cgroup.subtree_control
> > gizmo to see for myself, but I don't have one, and probably won't get
> > one until I introduce systemd to my axe (again, it's a slow learner).
> >
>
> I'm testing in an environment without systemd.

Lucky you.

> You need to mount cgroup with a special option:
>
> # mount -t cgroup -o __DEVEL__sane_behavior xxx /where
>
> If a cgroup controller has already been mounted without this option,
> you won't see it in the unified hierarchy, so firstly you need to
> delete all cgroups in it and umount it.

Yeah, I found the flag, and systemd is indeed in the way. You already
verified what subtree_control does, so I needn't squabble with the vile
thing over cgroups possession... immediately anyway.

-Mike