Re: [patch 1/5] memcg: no uncharged pages reachpage_cgroup_zoneinfo

From: KAMEZAWA Hiroyuki
Date: Fri Feb 04 2011 - 04:29:43 EST


On Fri, 4 Feb 2011 10:26:50 +0100
Johannes Weiner <hannes@xxxxxxxxxxx> wrote:

> On Fri, Feb 04, 2011 at 09:01:45AM +0900, KAMEZAWA Hiroyuki wrote:
> > On Thu, 3 Feb 2011 15:26:02 +0100
> > Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
> >
> > > All callsites check PCG_USED before passing pc->mem_cgroup, so the
> > > latter is never NULL.
> > >
> > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> >
> > Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>
> Thank you!
>
> > I want BUG_ON() here.
>
> I thought about it too at first. But look at the callsites, all but
> one of them do not even expect this function to return NULL, so if
> this condition had ever been true, we would have seen crashes in the
> callsites.
>

Hmm ok.
-Kame

> The only caller that checks for NULL is
> mem_cgroup_get_reclaim_stat_from_page() and I propose to remove that
> as well; patch attached.
>
> Do you insist on the BUG_ON?
>
> ---
> Subject: memcg: page_cgroup_zoneinfo never returns NULL
>
> For a page charged to a memcg, there is always valid memcg per-zone
> info.
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
> ---
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 4a4483d..5f974b3 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1017,9 +1017,6 @@ mem_cgroup_get_reclaim_stat_from_page(struct page *page)
> /* Ensure pc->mem_cgroup is visible after reading PCG_USED. */
> smp_rmb();
> mz = page_cgroup_zoneinfo(pc->mem_cgroup, page);
> - if (!mz)
> - return NULL;
> -
> return &mz->reclaim_stat;
> }
>
>

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