From e332073e96d5654862949ec8a4fad016758218f3 Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Wed, 3 Oct 2007 20:42:44 -0700 Subject: [PATCH] vcompound: Fallback for zone wait table Currently vmalloc may be used for allocating zone wait table. Use virtual compound page in order to be able to use a physically contiguous page that can then use the large kernel TLBs. Drawback: The zone wait table is rounded up to the next power of two which may cost some memory. Signed-off-by: Christoph Lameter --- mm/page_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-2.6.25-rc8-mm2/mm/page_alloc.c =================================================================== --- linux-2.6.25-rc8-mm2.orig/mm/page_alloc.c 2008-04-11 20:20:44.000000000 -0700 +++ linux-2.6.25-rc8-mm2/mm/page_alloc.c 2008-04-11 20:23:36.000000000 -0700 @@ -2884,7 +2884,8 @@ int zone_wait_table_init(struct zone *zo * To use this new node's memory, further consideration will be * necessary. */ - zone->wait_table = vmalloc(alloc_size); + zone->wait_table = __alloc_vcompound(GFP_KERNEL, + get_order(alloc_size)); } if (!zone->wait_table) return -ENOMEM;