Re: [patch 7/8] vmscan: memcg-aware unevictable page rescue scanner

Johannes Weiner
2011-07-20T00:37:39Z

On Tue, Jul 19, 2011 at 03:47:43PM -0700, Ying Han wrote:
> On Tue, May 31, 2011 at 11:25 PM, Johannes Weiner <hannes@cmpxchg.org>wrote:
>
> > Once the per-memcg lru lists are exclusive, the unevictable page
> > rescue scanner can no longer work on the global zone lru lists.
> >
> > This converts it to go through all memcgs and scan their respective
> > unevictable lists instead.
> >
> > Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
> > ---
> > include/linux/memcontrol.h | 2 +
> > mm/memcontrol.c | 11 +++++++++
> > mm/vmscan.c | 53
> > +++++++++++++++++++++++++++----------------
> > 3 files changed, 46 insertions(+), 20 deletions(-)
> >
> > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
> > index cb02c00..56c1def 100644
> > --- a/include/linux/memcontrol.h
> > +++ b/include/linux/memcontrol.h
> > @@ -60,6 +60,8 @@ extern void mem_cgroup_cancel_charge_swapin(struct
> > mem_cgroup *ptr);
> >
> > extern int mem_cgroup_cache_charge(struct page *page, struct mm_struct
> > *mm,
> > gfp_t gfp_mask);
> > +struct page *mem_cgroup_lru_to_page(struct zone *, struct mem_cgroup *,
> > + enum lru_list);
> >
>
> Did we miss a #ifdef case for this function? I got compile error by
> disabling memcg.

I assume it's because the call to it is not optimized away properly in
the disabled case. I'll have it fixed in the next round, thanks for
letting me know.