Re: [PATCH] memcg: fix use_hierarchy css_is_ancestor oops regression

Konstantin Khlebnikov
2012-06-11T07:29:31Z

Johannes Weiner wrote:
> On Sun, Jun 10, 2012 at 11:54:47AM -0700, Hugh Dickins wrote:
>> If use_hierarchy is set, reclaim testing soon oopses in css_is_ancestor()
>> called from __mem_cgroup_same_or_subtree() called from page_referenced():
>> when processes are exiting, it's easy for mm_match_cgroup() to pass along
>> a NULL memcg coming from a NULL mm->owner.
>>
>> Check for that in __mem_cgroup_same_or_subtree(). Return true or false?
>> False because we cannot know if it was in the hierarchy, but also false
>> because it's better not to count a reference from an exiting process.
>>
>> Signed-off-by: Hugh Dickins<hughd@google.com>
>
> Looks like an older version of the patch that introduced it slipped
> into the tree, Konstantin noted this problem during review. The final
> version did
>
> match = memcg&& __mem_cgroup_same_or_subtree(root, memcg);
>
> in the caller because of it.
>
> Do you think it would be cleaner this way, since this is also the
> place where that memcg is looked up, and so the "can return NULL"
> handling after mem_cgroup_from_task() would be in the same place?

I agree, it cleaner, but nevertheless:

Acked-by: Konstantin Khlebnikov <khlebnikov@openvz.org>

Thanks, Hugh!

>
> But either way,
>
> Acked-by: Johannes Weiner<hannes@cmpxchg.org>
>
> Thanks, Hugh!
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: email@kvack.org