![]() | |||||||||||||
Messages in this thread
Patch in this message |
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 <clameter@sgi.com> --- mm/page_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-2.6.25-rc5-mm1/mm/page_alloc.c =================================================================== --- linux-2.6.25-rc5-mm1.orig/mm/page_alloc.c 2008-03-20 20:03:50.885900600 -0700 +++ linux-2.6.25-rc5-mm1/mm/page_alloc.c 2008-03-20 20:04:43.282104684 -0700 @@ -2866,7 +2866,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; -- | ||||||||||||
| Last update: 2008-03-21 07:23 [W:0.701 / U:0.120 seconds] ©2003-2008 Jasper Spaans | |||||||||||||