]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
mm: bootmem: try harder to free pages in bulk
authorJohannes Weiner <hannes@cmpxchg.org>
Tue, 10 Jan 2012 23:08:15 +0000 (15:08 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 11 Jan 2012 00:30:45 +0000 (16:30 -0800)
commit799f933a82d878d7f15215473c5561ce984ada75
treea096ac8de8da31385026c3d51eec292815438ac4
parent560a036b3a3733e33424385c0a0c799dee454d05
mm: bootmem: try harder to free pages in bulk

The loop that frees pages to the page allocator while bootstrapping tries
to free higher-order blocks only when the starting address is aligned to
that block size.  Otherwise it will free all pages on that node
one-by-one.

Change it to free individual pages up to the first aligned block and then
try higher-order frees from there.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/bootmem.c