From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>, "balbir@linux.vnet.ibm.com" <balbir@linux.vnet.ibm.com>, Ying Han <yinghan@google.com>, hannes@cmpxchg.org, Michal Hocko <mhocko@suse.cz>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: [PATCH 1/8] memcg: export zone reclaimable pages Date: Fri, 20 May 2011 12:41:08 +0900 [thread overview] Message-ID: <20110520124108.c65e03e3.kamezawa.hiroyu@jp.fujitsu.com> (raw) In-Reply-To: <20110520123749.d54b32fa.kamezawa.hiroyu@jp.fujitsu.com> From: Ying Han <yinghan@google.com> The number of reclaimable pages per zone is an useful information for controling memory reclaim schedule. This patch exports it. Signed-off-by: Ying Han <yinghan@google.com> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> --- include/linux/memcontrol.h | 2 ++ mm/memcontrol.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) Index: mmotm-May11/mm/memcontrol.c =================================================================== --- mmotm-May11.orig/mm/memcontrol.c +++ mmotm-May11/mm/memcontrol.c @@ -1162,6 +1162,20 @@ unsigned long mem_cgroup_zone_nr_pages(s return MEM_CGROUP_ZSTAT(mz, lru); } +unsigned long mem_cgroup_zone_reclaimable_pages(struct mem_cgroup *memcg, + int nid, int zid) +{ + unsigned long nr; + struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); + + nr = MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_FILE) + + MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_FILE); + if (nr_swap_pages > 0) + nr += MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_ANON) + + MEM_CGROUP_ZSTAT(mz, NR_INACTIVE_ANON); + return nr; +} + struct zone_reclaim_stat *mem_cgroup_get_reclaim_stat(struct mem_cgroup *memcg, struct zone *zone) { Index: mmotm-May11/include/linux/memcontrol.h =================================================================== --- mmotm-May11.orig/include/linux/memcontrol.h +++ mmotm-May11/include/linux/memcontrol.h @@ -108,6 +108,8 @@ extern void mem_cgroup_end_migration(str */ int mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg); int mem_cgroup_inactive_file_is_low(struct mem_cgroup *memcg); +unsigned long +mem_cgroup_zone_reclaimable_pages(struct mem_cgroup *memcg, int nid, int zid); int mem_cgroup_select_victim_node(struct mem_cgroup *memcg); unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, struct zone *zone,
WARNING: multiple messages have this Message-ID (diff)
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "nishimura@mxp.nes.nec.co.jp" <nishimura@mxp.nes.nec.co.jp>, "balbir@linux.vnet.ibm.com" <balbir@linux.vnet.ibm.com>, Ying Han <yinghan@google.com>, hannes@cmpxchg.org, Michal Hocko <mhocko@suse.cz>, "akpm@linux-foundation.org" <akpm@linux-foundation.org> Subject: [PATCH 1/8] memcg: export zone reclaimable pages Date: Fri, 20 May 2011 12:41:08 +0900 [thread overview] Message-ID: <20110520124108.c65e03e3.kamezawa.hiroyu@jp.fujitsu.com> (raw) In-Reply-To: <20110520123749.d54b32fa.kamezawa.hiroyu@jp.fujitsu.com> From: Ying Han <yinghan@google.com> The number of reclaimable pages per zone is an useful information for controling memory reclaim schedule. This patch exports it. Signed-off-by: Ying Han <yinghan@google.com> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> --- include/linux/memcontrol.h | 2 ++ mm/memcontrol.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) Index: mmotm-May11/mm/memcontrol.c =================================================================== --- mmotm-May11.orig/mm/memcontrol.c +++ mmotm-May11/mm/memcontrol.c @@ -1162,6 +1162,20 @@ unsigned long mem_cgroup_zone_nr_pages(s return MEM_CGROUP_ZSTAT(mz, lru); } +unsigned long mem_cgroup_zone_reclaimable_pages(struct mem_cgroup *memcg, + int nid, int zid) +{ + unsigned long nr; + struct mem_cgroup_per_zone *mz = mem_cgroup_zoneinfo(memcg, nid, zid); + + nr = MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_FILE) + + MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_FILE); + if (nr_swap_pages > 0) + nr += MEM_CGROUP_ZSTAT(mz, NR_ACTIVE_ANON) + + MEM_CGROUP_ZSTAT(mz, NR_INACTIVE_ANON); + return nr; +} + struct zone_reclaim_stat *mem_cgroup_get_reclaim_stat(struct mem_cgroup *memcg, struct zone *zone) { Index: mmotm-May11/include/linux/memcontrol.h =================================================================== --- mmotm-May11.orig/include/linux/memcontrol.h +++ mmotm-May11/include/linux/memcontrol.h @@ -108,6 +108,8 @@ extern void mem_cgroup_end_migration(str */ int mem_cgroup_inactive_anon_is_low(struct mem_cgroup *memcg); int mem_cgroup_inactive_file_is_low(struct mem_cgroup *memcg); +unsigned long +mem_cgroup_zone_reclaimable_pages(struct mem_cgroup *memcg, int nid, int zid); int mem_cgroup_select_victim_node(struct mem_cgroup *memcg); unsigned long mem_cgroup_zone_nr_pages(struct mem_cgroup *memcg, struct zone *zone, -- 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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-05-20 3:47 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-05-20 3:37 [PATCH 0/8] memcg async reclaim v2 KAMEZAWA Hiroyuki 2011-05-20 3:37 ` KAMEZAWA Hiroyuki 2011-05-20 3:41 ` KAMEZAWA Hiroyuki [this message] 2011-05-20 3:41 ` [PATCH 1/8] memcg: export zone reclaimable pages KAMEZAWA Hiroyuki 2011-05-20 3:42 ` [PATCH 2/8] memcg: easy check routine for reclaimable KAMEZAWA Hiroyuki 2011-05-20 3:42 ` KAMEZAWA Hiroyuki 2011-05-20 21:49 ` Andrew Morton 2011-05-20 21:49 ` Andrew Morton 2011-05-20 23:57 ` Hiroyuki Kamezawa 2011-05-20 23:57 ` Hiroyuki Kamezawa 2011-05-20 3:43 ` [PATCH 0/8] memcg: clean up, export swapiness KAMEZAWA Hiroyuki 2011-05-20 3:43 ` KAMEZAWA Hiroyuki 2011-05-23 17:26 ` Ying Han 2011-05-23 17:26 ` Ying Han 2011-05-23 23:55 ` KAMEZAWA Hiroyuki 2011-05-23 23:55 ` KAMEZAWA Hiroyuki 2011-05-20 3:44 ` [PATCH 4/8] memcg: export release victim KAMEZAWA Hiroyuki 2011-05-20 3:44 ` KAMEZAWA Hiroyuki 2011-05-20 3:46 ` [PATCH 6/8] memcg asynchronous memory reclaim interface KAMEZAWA Hiroyuki 2011-05-20 3:46 ` KAMEZAWA Hiroyuki 2011-05-20 21:49 ` Andrew Morton 2011-05-20 21:49 ` Andrew Morton 2011-05-20 23:56 ` Hiroyuki Kamezawa 2011-05-20 23:56 ` Hiroyuki Kamezawa 2011-05-23 23:36 ` Ying Han 2011-05-23 23:36 ` Ying Han 2011-05-24 0:11 ` KAMEZAWA Hiroyuki 2011-05-24 0:11 ` KAMEZAWA Hiroyuki 2011-05-24 0:26 ` Ying Han 2011-05-24 0:26 ` Ying Han 2011-05-20 3:47 ` [PATCH 7/8] memcg static scan reclaim for asyncrhonous reclaim KAMEZAWA Hiroyuki 2011-05-20 3:47 ` KAMEZAWA Hiroyuki 2011-05-20 21:50 ` Andrew Morton 2011-05-20 21:50 ` Andrew Morton 2011-05-21 0:23 ` Hiroyuki Kamezawa 2011-05-21 0:23 ` Hiroyuki Kamezawa 2011-05-20 3:48 ` [PATCH 8/8] memcg asyncrhouns reclaim workqueue KAMEZAWA Hiroyuki 2011-05-20 3:48 ` KAMEZAWA Hiroyuki 2011-05-20 21:51 ` Andrew Morton 2011-05-20 21:51 ` Andrew Morton 2011-05-21 0:41 ` Hiroyuki Kamezawa 2011-05-21 0:41 ` Hiroyuki Kamezawa 2011-05-21 1:26 ` Andrew Morton 2011-05-21 1:26 ` Andrew Morton 2011-05-23 0:25 ` KAMEZAWA Hiroyuki 2011-05-23 0:25 ` KAMEZAWA Hiroyuki 2011-05-25 5:51 ` Ying Han [not found] ` <BANLkTimd0CAqoAnuGz7WvKsbwphJxo0eZQ@mail.gmail.com> 2011-05-24 0:19 ` [PATCH 0/8] memcg async reclaim v2 KAMEZAWA Hiroyuki 2011-05-24 0:19 ` KAMEZAWA Hiroyuki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110520124108.c65e03e3.kamezawa.hiroyu@jp.fujitsu.com \ --to=kamezawa.hiroyu@jp.fujitsu.com \ --cc=akpm@linux-foundation.org \ --cc=balbir@linux.vnet.ibm.com \ --cc=hannes@cmpxchg.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mhocko@suse.cz \ --cc=nishimura@mxp.nes.nec.co.jp \ --cc=yinghan@google.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.