On Mon, 11 Jun 2012, 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@xxxxxxxxxx> > > 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 don't mind, either way. It depends on whether we add more such uses which could receive a NULL memcg. I tend to prefer dealing with rare conditions (which this is) inside the callee, but common conditions before calling from the caller. But let's let others decide. > > But either way, > > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> > > Thanks, Hugh! And thank you, Hannes! Hugh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>