Hi Andrew,

Today's linux-next merge of the akpm-current tree got a conflict in
mm/memcontrol.c between commit 2ef37d3fe474 ("memcg: Simplify
mem_cgroup_force_empty_list error handling") from the cgroup tree and
commit 4bfe8322f427 ("memcg: fix hotplugged memory zone oops") from the
akpm-current tree.

I fixed it up (as suggested by Andrew - see below) and can carry the fix
as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    s...@canb.auug.org.au

diff --cc mm/memcontrol.c
index 08adaaa,dd39ba0..0000000
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@@ -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;
  

Attachment: pgp5DZIZS1AwF.pgp
Description: PGP signature

Reply via email to