lkml.org 
[lkml]   [2011]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] cgroups: don't cache common ancestor in task counter subsys
On Mon, Oct 17, 2011 at 01:27:53PM -0400, Ben Blum wrote:
> On Mon, Oct 17, 2011 at 07:25:41PM +0200, Frederic Weisbecker wrote:
> > When we rollback there, we are dealing with oldcgrp of the last thread
> > we have treated. All threads in the rollback list don't necessary belonged
> > to that old_cgroup.
> >
> > And we can't try to retrieve these old_cgroup through task_cgroup_from_root() because
> > the threads might have exited and thus could be assigned to the init cgroup.
> >
> > I believe we need to cache these old cgroups in the flex array.
> >
>
> Doing this would fulfill the "TODO" in cgroup_attach_proc for being able
> to pass the oldcgrp for each task in the loop around the ss->attach
> call, so if you do that, remove the corresponding comment. :)
>
> -- Ben

I don't know, looking at the code, there is a separate issue to solve there.
The old cgroup passed in ->attach() is the one of a random task from the thread
group. The migrations that happen right before leave oldcgrp with the
old cgroup of the last thread in the group.

This doesn't seem to make any sense. As far as I checked this is only used
by the cpuset subsystem that does a migration in cpuset_attach() from
the old cgroup to the new.

I'm not sure about the details but that looks buggy.


\
 
 \ /
  Last update: 2011-10-27 17:15    [W:0.081 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site