memcg: charged pages always have valid per-memcg zone info
[platform/adaptation/renesas_rcar/renesas_kernel.git] / mm / memcontrol.c
index e286e16..b35a28d 100644 (file)
@@ -1043,9 +1043,6 @@ mem_cgroup_get_reclaim_stat_from_page(struct page *page)
        /* Ensure pc->mem_cgroup is visible after reading PCG_USED. */
        smp_rmb();
        mz = page_cgroup_zoneinfo(pc->mem_cgroup, page);
-       if (!mz)
-               return NULL;
-
        return &mz->reclaim_stat;
 }
 
@@ -1080,7 +1077,7 @@ unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
                if (unlikely(!PageCgroupUsed(pc)))
                        continue;
 
-               page = pc->page;
+               page = lookup_cgroup_page(pc);
 
                if (unlikely(!PageLRU(page)))
                        continue;
@@ -3344,7 +3341,7 @@ static int mem_cgroup_force_empty_list(struct mem_cgroup *mem,
                }
                spin_unlock_irqrestore(&zone->lru_lock, flags);
 
-               page = pc->page;
+               page = lookup_cgroup_page(pc);
 
                ret = mem_cgroup_move_parent(page, pc, mem, GFP_KERNEL);
                if (ret == -ENOMEM)