mem_cgroup_cache_charge() has check for PageCompound(). The check
prevents charging huge cache pages.

I don't see a reason why the check is present. Looks like it's just
legacy (introduced in 52d4b9a memcg: allocate all page_cgroup at boot).

Let's just drop it.

Signed-off-by: Kirill A. Shutemov <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: Dave Hansen <[email protected]>
Acked-by: Michal Hocko <[email protected]>
---
 mm/memcontrol.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index d5ff3ce130..0b87a1bd25 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3963,8 +3963,7 @@ int mem_cgroup_cache_charge(struct page *page, struct 
mm_struct *mm,
 
        if (mem_cgroup_disabled())
                return 0;
-       if (PageCompound(page))
-               return 0;
+       VM_BUG_ON(PageCompound(page) && !PageTransHuge(page));
 
        if (!PageSwapCache(page))
                ret = mem_cgroup_charge_common(page, mm, gfp_mask, type);
-- 
1.8.4.rc3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to