From 6cfddb261555dd0c0529a5fb7cf8bc5b85ad95a5 Mon Sep 17 00:00:00 2001 From: Michal Hocko Date: Wed, 23 Mar 2011 16:42:41 -0700 Subject: [PATCH] memcg: page_cgroup array is never stored on reserved pages KAMEZAWA Hiroyuki noted that free_pages_cgroup doesn't have to check for PageReserved because we never store the array on reserved pages (neither alloc_pages_exact nor vmalloc use those pages). So we can replace the check by a BUG_ON. Signed-off-by: Michal Hocko Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/page_cgroup.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c index 8e7577cdf5e4..a12cc3fa9859 100644 --- a/mm/page_cgroup.c +++ b/mm/page_cgroup.c @@ -153,11 +153,11 @@ static void free_page_cgroup(void *addr) vfree(addr); } else { struct page *page = virt_to_page(addr); - if (!PageReserved(page)) { /* Is bootmem ? */ - size_t table_size = - sizeof(struct page_cgroup) * PAGES_PER_SECTION; - free_pages_exact(addr, table_size); - } + size_t table_size = + sizeof(struct page_cgroup) * PAGES_PER_SECTION; + + BUG_ON(PageReserved(page)); + free_pages_exact(addr, table_size); } } #endif