]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/memcontrol.c
mm: memcg: remove unneeded checks from newpage_charge()
[karo-tx-linux.git] / mm / memcontrol.c
index ff50e81fe1710643c7f32ee9c4428b13f23f9ec9..a3563e4d045d3aaa4e04c95ddfe5a6f3a6511389 100644 (file)
@@ -2679,19 +2679,11 @@ int mem_cgroup_newpage_charge(struct page *page,
 {
        if (mem_cgroup_disabled())
                return 0;
-       /*
-        * If already mapped, we don't have to account.
-        * If page cache, page->mapping has address_space.
-        * But page->mapping may have out-of-use anon_vma pointer,
-        * detecit it by PageAnon() check. newly-mapped-anon's page->mapping
-        * is NULL.
-        */
-       if (page_mapped(page) || (page->mapping && !PageAnon(page)))
-               return 0;
-       if (unlikely(!mm))
-               mm = &init_mm;
+       VM_BUG_ON(page_mapped(page));
+       VM_BUG_ON(page->mapping && !PageAnon(page));
+       VM_BUG_ON(!mm);
        return mem_cgroup_charge_common(page, mm, gfp_mask,
-                               MEM_CGROUP_CHARGE_TYPE_MAPPED);
+                                       MEM_CGROUP_CHARGE_TYPE_MAPPED);
 }
 
 static void