From: Robin Holt Date: Tue, 12 Nov 2013 23:07:23 +0000 (-0800) Subject: mm/nobootmem.c: have __free_pages_memory() free in larger chunks. X-Git-Tag: v3.13-rc1~106^2~232 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=309d0b3917387b48d1fa1a15aa6762de489c9123;p=pandora-kernel.git mm/nobootmem.c: have __free_pages_memory() free in larger chunks. On large memory machines it can take a few minutes to get through free_all_bootmem(). Currently, when free_all_bootmem() calls __free_pages_memory(), the number of contiguous pages that __free_pages_memory() passes to the buddy allocator is limited to BITS_PER_LONG. BITS_PER_LONG was originally chosen to keep things similar to mm/nobootmem.c. But it is more efficient to limit it to MAX_ORDER. base new change 8TB 202s 172s 30s 16TB 401s 351s 50s That is around 1%-3% improvement on total boot time. This patch was spun off from the boot time rfc Robin and I had been working on. Signed-off-by: Robin Holt Signed-off-by: Nathan Zimmer Cc: Robin Holt Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Mike Travis Cc: Yinghai Lu Cc: Mel Gorman Acked-by: Johannes Weiner Reviewed-by: Wanpeng Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed