From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752703Ab1GTAhj (ORCPT ); Tue, 19 Jul 2011 20:37:39 -0400 Received: from zene.cmpxchg.org ([85.214.230.12]:53438 "EHLO zene.cmpxchg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752395Ab1GTAhi (ORCPT ); Tue, 19 Jul 2011 20:37:38 -0400 Date: Wed, 20 Jul 2011 02:36:53 +0200 From: Johannes Weiner To: Ying Han Cc: KAMEZAWA Hiroyuki , Daisuke Nishimura , Balbir Singh , Michal Hocko , Andrew Morton , Rik van Riel , Minchan Kim , KOSAKI Motohiro , Mel Gorman , Greg Thelen , Michel Lespinasse , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [patch 7/8] vmscan: memcg-aware unevictable page rescue scanner Message-ID: <20110720003653.GA667@cmpxchg.org> References: <1306909519-7286-1-git-send-email-hannes@cmpxchg.org> <1306909519-7286-8-git-send-email-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 19, 2011 at 03:47:43PM -0700, Ying Han wrote: > On Tue, May 31, 2011 at 11:25 PM, Johannes Weiner 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 > > --- > > 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. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail137.messagelabs.com (mail137.messagelabs.com [216.82.249.19]) by kanga.kvack.org (Postfix) with ESMTP id 1CC126B00FD for ; Tue, 19 Jul 2011 20:37:39 -0400 (EDT) Date: Wed, 20 Jul 2011 02:36:53 +0200 From: Johannes Weiner Subject: Re: [patch 7/8] vmscan: memcg-aware unevictable page rescue scanner Message-ID: <20110720003653.GA667@cmpxchg.org> References: <1306909519-7286-1-git-send-email-hannes@cmpxchg.org> <1306909519-7286-8-git-send-email-hannes@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: owner-linux-mm@kvack.org List-ID: To: Ying Han Cc: KAMEZAWA Hiroyuki , Daisuke Nishimura , Balbir Singh , Michal Hocko , Andrew Morton , Rik van Riel , Minchan Kim , KOSAKI Motohiro , Mel Gorman , Greg Thelen , Michel Lespinasse , linux-mm@kvack.org, linux-kernel@vger.kernel.org On Tue, Jul 19, 2011 at 03:47:43PM -0700, Ying Han wrote: > On Tue, May 31, 2011 at 11:25 PM, Johannes Weiner 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 > > --- > > 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. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: email@kvack.org