diff options
author | Johannes Weiner <hannes@cmpxchg.org> | 2012-01-10 15:08:15 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 16:30:45 -0800 |
commit | 799f933a82d878d7f15215473c5561ce984ada75 (patch) | |
tree | a096ac8de8da31385026c3d51eec292815438ac4 /block | |
parent | 560a036b3a3733e33424385c0a0c799dee454d05 (diff) | |
download | op-kernel-dev-799f933a82d878d7f15215473c5561ce984ada75.zip op-kernel-dev-799f933a82d878d7f15215473c5561ce984ada75.tar.gz |
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>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions