summaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorKonstantin Khlebnikov2012-05-30 00:07:00 +0200
committerLinus Torvalds2012-05-30 01:22:26 +0200
commit074291fea8bcedeabf295360e2ddd9bbb5830b4a (patch)
tree01531a2ca7e9b648a4d8cd9bc772aa484ed2190d /mm/memcontrol.c
parentmm/vmscan: push lruvec pointer into putback_inactive_pages() (diff)
downloadkernel-qcow2-linux-074291fea8bcedeabf295360e2ddd9bbb5830b4a.tar.gz
kernel-qcow2-linux-074291fea8bcedeabf295360e2ddd9bbb5830b4a.tar.xz
kernel-qcow2-linux-074291fea8bcedeabf295360e2ddd9bbb5830b4a.zip
mm/vmscan: replace zone_nr_lru_pages() with get_lruvec_size()
If memory cgroup is enabled we always use lruvecs which are embedded into struct mem_cgroup_per_zone, so we can reach lru_size counters via container_of(). Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org> Cc: Mel Gorman <mel@csn.ul.ie> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Hugh Dickins <hughd@google.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.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 39b2c14f1509..a68db296ada6 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -723,6 +723,15 @@ static void mem_cgroup_charge_statistics(struct mem_cgroup *memcg,
}
unsigned long
+mem_cgroup_get_lruvec_size(struct lruvec *lruvec, enum lru_list lru)
+{
+ struct mem_cgroup_per_zone *mz;
+
+ mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec);
+ return mz->lru_size[lru];
+}
+
+static unsigned long
mem_cgroup_zone_nr_lru_pages(struct mem_cgroup *memcg, int nid, int zid,
unsigned int lru_mask)
{