diff options
author | Lee Schermerhorn <Lee.Schermerhorn@hp.com> | 2008-10-18 23:26:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-20 11:50:26 -0400 |
commit | 7b854121eb3e5ba0241882ff939e2c485228c9c5 (patch) | |
tree | e553bc3b3c2be3b36cfcce5219b2ef85646ea495 /mm/memcontrol.c | |
parent | bbfd28eee9fbd73e780b19beb3dc562befbb94fa (diff) |
Unevictable LRU Page Statistics
Report unevictable pages per zone and system wide.
Kosaki Motohiro added support for memory controller unevictable
statistics.
[riel@redhat.com: fix printk in show_free_areas()]
[akpm@linux-foundation.org: fix units in /proc/vmstats]
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
Signed-off-by: Rik van Riel <riel@redhat.com>
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Debugged-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 82c065e7551e..e93a4db93fbe 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -1006,6 +1006,7 @@ static int mem_control_stat_show(struct cgroup *cont, struct cftype *cft, | |||
1006 | { | 1006 | { |
1007 | unsigned long active_anon, inactive_anon; | 1007 | unsigned long active_anon, inactive_anon; |
1008 | unsigned long active_file, inactive_file; | 1008 | unsigned long active_file, inactive_file; |
1009 | unsigned long unevictable; | ||
1009 | 1010 | ||
1010 | inactive_anon = mem_cgroup_get_all_zonestat(mem_cont, | 1011 | inactive_anon = mem_cgroup_get_all_zonestat(mem_cont, |
1011 | LRU_INACTIVE_ANON); | 1012 | LRU_INACTIVE_ANON); |
@@ -1015,10 +1016,15 @@ static int mem_control_stat_show(struct cgroup *cont, struct cftype *cft, | |||
1015 | LRU_INACTIVE_FILE); | 1016 | LRU_INACTIVE_FILE); |
1016 | active_file = mem_cgroup_get_all_zonestat(mem_cont, | 1017 | active_file = mem_cgroup_get_all_zonestat(mem_cont, |
1017 | LRU_ACTIVE_FILE); | 1018 | LRU_ACTIVE_FILE); |
1019 | unevictable = mem_cgroup_get_all_zonestat(mem_cont, | ||
1020 | LRU_UNEVICTABLE); | ||
1021 | |||
1018 | cb->fill(cb, "active_anon", (active_anon) * PAGE_SIZE); | 1022 | cb->fill(cb, "active_anon", (active_anon) * PAGE_SIZE); |
1019 | cb->fill(cb, "inactive_anon", (inactive_anon) * PAGE_SIZE); | 1023 | cb->fill(cb, "inactive_anon", (inactive_anon) * PAGE_SIZE); |
1020 | cb->fill(cb, "active_file", (active_file) * PAGE_SIZE); | 1024 | cb->fill(cb, "active_file", (active_file) * PAGE_SIZE); |
1021 | cb->fill(cb, "inactive_file", (inactive_file) * PAGE_SIZE); | 1025 | cb->fill(cb, "inactive_file", (inactive_file) * PAGE_SIZE); |
1026 | cb->fill(cb, "unevictable", unevictable * PAGE_SIZE); | ||
1027 | |||
1022 | } | 1028 | } |
1023 | return 0; | 1029 | return 0; |
1024 | } | 1030 | } |