{
struct page_cgroup *pc;
struct mem_cgroup_per_zone *mz;
- int page_size = PAGE_SIZE;
-
- if (PageTransHuge(page))
- page_size <<= compound_order(page);
if (mem_cgroup_disabled())
return NULL;
int ret;
int page_size = PAGE_SIZE;
- if (PageTransHuge(page))
+ if (PageTransHuge(page)) {
page_size <<= compound_order(page);
+ VM_BUG_ON(!PageTransHuge(page));
+ }
pc = lookup_page_cgroup(page);
/* can happen at boot */
if (PageSwapCache(page))
return NULL;
- if (PageTransHuge(page))
+ if (PageTransHuge(page)) {
page_size <<= compound_order(page);
+ VM_BUG_ON(!PageTransHuge(page));
+ }
count = page_size >> PAGE_SHIFT;
/*