Re: [RFC][PATCH 1/2] memcg: Ensure every task that uses an mm is in the same memory cgroup

From: Eric W. Biederman
Date: Mon Jun 04 2018 - 15:11:42 EST


Tejun Heo <tj@xxxxxxxxxx> writes:

> Hello, Michal.
>
> On Mon, Jun 04, 2018 at 03:01:19PM +0200, Michal Hocko wrote:
>> > On Fri, Jun 01, 2018 at 01:11:59PM -0500, Eric W. Biederman wrote:
>> > > Widening the definition of a process sounds good. The memory control
>> > > group code would still need a way to forbid these in cgroup v1 mode,
>> > > when someone uses the task file.
>> >
>> > Yeap, you're right. We'll need memcg's can_attach rejecting for v1.
>>
>> Do we really need? I mean, do we know about any existing usecase that
>> would need this weird threading concept and depend on memory migration
>> which doesn't really work?
>
> I thought the requirement is from the ->owner change so that the
> association doesn't become 1:N, right?

Yes. We need not the existing can_attach, but my new
mem_cgroup_mm_can_attach.

Even if the cgroup notion of a process is extended to be any set of
tasks that shares an mm. We still need to fail cgroup migration through
the tasks file for processes that are not single threaded for cgroup v1.

Eric