diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d3358efdf4e634c50be79e6ed8311ff76e2fe224..d1cf4f05dcdaff12c4e261495efe53a3b3dd7209 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4345,9 +4345,7 @@ void *__init alloc_large_system_hash(const char *tablename, else if (hashdist) table = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL); else { - unsigned long order; - for (order = 0; ((1UL << order) << PAGE_SHIFT) < size; order++) - ; + unsigned long order = get_order(size); table = (void*) __get_free_pages(GFP_ATOMIC, order); /* * If bucketsize is not a power-of-two, we may free