Re: [PATCH v4] sched: automated per session task groups

Mike Galbraith
2010-11-30T17:13:48Z

On Tue, 2010-11-30 at 10:17 -0500, Vivek Goyal wrote:

> Hi Mike,

Hi,

> I was wonderig if these autogroups can be visible in regular cgroup
> hierarchy so that once somebody mounts cpu controller, these are visible?

No, autogroup is not auto-cgroup. You get zero whistles and zero bells
with autogroup. Only dirt simple automated task groups.

> I was wondering why is a good idea to create a separate interface for
> autogroups through proc and not try to integrate it with cgroup interface.

I only put an interface there at all because it was requested, and made
it a dirt simple 'nice level' interface because there's nothing simpler
than 'nice'. The whole autogroup thing is intended for folks who don't
want to set up cgroups, shares yadayada, so tying it into the cgroups
interface seems kinda pointless.

> Without it now any user space tool shall have to either disable the
> autogroup feature completely or now also worry about /proc interface
> and there also autogroups are searchable through pid and there is no
> direct way to access these.

Maybe I should make it disable itself when you mount big brother.

> IIUC, these autogroups create flat setup and are at same level as
> init_task_group and are not children of it. Currently cpu cgroup
> is hierarchical by default and any new cgroup is child of init_task_group
> and that could lead to representation issues.

Well, it's flat, but autogroup does..
tg = sched_create_group(&init_task_group);

> Well, will we not get same kind of latency boost if we make these autogroups
> children of root? If yes, then hierarchical representation issue of autogroup
> will be a moot point.

No problem then.

> We already have /proc/<pid>/cgroup interface which points to tasks's
> cgroup. We probably can avoid creating /proc/<pid>/autgroup if there
> is an associated cgroup which appears in cgroup hierachy and then user
> can change the weight of group through cgroup interface (instead of
> introducing another interface).

That's possible (for someone familiar with cgroups;), but I don't see
any reason for a wedding.

-Mike