]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'akpm-current/current'
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 15 Nov 2012 06:23:49 +0000 (17:23 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 15 Nov 2012 06:23:49 +0000 (17:23 +1100)
Conflicts:
mm/memcontrol.c

1  2 
include/linux/mmzone.h
mm/memcontrol.c
mm/memory.c

Simple merge
diff --cc mm/memcontrol.c
index 08adaaae6fcc524589217c880634aadcc637f8c8,dd39ba000b31f98730c6fd6d22bdf695ced3bedf..c9bd5bb42158545ede89e32c87d512e3f18d0916
@@@ -3673,32 -3712,30 +3706,32 @@@ unsigned long mem_cgroup_soft_limit_rec
        return nr_reclaimed;
  }
  
 -/*
 +/**
 + * mem_cgroup_force_empty_list - clears LRU of a group
 + * @memcg: group to clear
 + * @node: NUMA node
 + * @zid: zone id
 + * @lru: lru to to clear
 + *
   * Traverse a specified page_cgroup list and try to drop them all.  This doesn't
 - * reclaim the pages page themselves - it just removes the page_cgroups.
 - * Returns true if some page_cgroups were not freed, indicating that the caller
 - * must retry this operation.
 + * reclaim the pages page themselves - pages are moved to the parent (or root)
 + * group.
   */
 -static bool mem_cgroup_force_empty_list(struct mem_cgroup *memcg,
 +static void mem_cgroup_force_empty_list(struct mem_cgroup *memcg,
                                int node, int zid, enum lru_list lru)
  {
-       struct mem_cgroup_per_zone *mz;
+       struct lruvec *lruvec;
 -      unsigned long flags, loop;
 +      unsigned long flags;
        struct list_head *list;
        struct page *busy;
        struct zone *zone;
  
        zone = &NODE_DATA(node)->node_zones[zid];
-       mz = mem_cgroup_zoneinfo(memcg, node, zid);
-       list = &mz->lruvec.lists[lru];
+       lruvec = mem_cgroup_zone_lruvec(zone, memcg);
+       list = &lruvec->lists[lru];
  
 -      loop = mem_cgroup_get_lru_size(lruvec, lru);
 -      /* give some margin against EBUSY etc...*/
 -      loop += 256;
        busy = NULL;
 -      while (loop--) {
 +      do {
                struct page_cgroup *pc;
                struct page *page;
  
diff --cc mm/memory.c
Simple merge