Re: [-mm] Add an owner to the mm_struct (v8)

From: Balbir Singh
Date: Fri Apr 04 2008 - 04:29:14 EST


Paul Menage wrote:
> On Fri, Apr 4, 2008 at 1:05 AM, Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>> After the thread group leader exits, it's moved to init_css_state by
>> cgroup_exit(), thus all future charges from runnings threads would
>> be redirected to the init_css_set's subsystem.
>
> And its uncharges, which is more of the problem I was getting at
> earlier - surely when the mm is finally destroyed, all its virtual
> address space charges will be uncharged from the root cgroup rather
> than the correct cgroup, if we left the delayed group leader as the
> owner? Which is why I think the group leader optimization is unsafe.

It won't uncharge for the memory controller from the root cgroup since each page
has the mem_cgroup information associated with it. For other controllers,
they'll need to monitor exit() callbacks to know when the leader is dead :( (sigh).

Not having the group leader optimization can introduce big overheads (consider
thousands of tasks, with the group leader being the first one to exit).

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/