Re: [PATCH] use find_lock_task_mm in memory cgroups oom v2

From: Balbir Singh
Date: Wed Jun 16 2010 - 00:42:25 EST


On Wed, Jun 16, 2010 at 5:33 AM, KAMEZAWA Hiroyuki
<kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> On Tue, 15 Jun 2010 18:59:25 +0900
> Minchan Kim <minchan.kim@xxxxxxxxx> wrote:
>
>> > -/*
>> > +/**
>> > + * find_lock_task_mm - Checking a process which a task belongs to has valid mm
>> > + * and return a locked task which has a valid pointer to mm.
>> > + *
>>
>> This comment should have been another patch.
>> BTW, below comment uses "subthread" word.
>> Personally it's easy to understand function's goal to me. :)
>>
>> How about following as?
>> Checking a process which has any subthread with vaild mm
>> ....
>>
> Sure. thank you. v2 is here. I removed unnecessary parts.
>
> ==
> From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>
> When the OOM killer scans task, it check a task is under memcg or
> not when it's called via memcg's context.
>
> But, as Oleg pointed out, a thread group leader may have NULL ->mm
> and task_in_mem_cgroup() may do wrong decision. We have to use
> find_lock_task_mm() in memcg as generic OOM-Killer does.
>
> Changelog:
>  - removed unnecessary changes in comments.
>

mm->owner solves the same problem, but unfortunately we have task
based selection in OOM killer, so we need this patch. It is quite
ironic that we find the mm from the task and then eventually the task
back from mm->owner and then the mem cgroup. If we already know the mm
from oom_kill.c, I think we can change the function to work off of
that. mm->owner->cgroup..no?

Balbir
--
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/