summaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
authorJohannes Weiner2012-01-11 00:08:15 +0100
committerLinus Torvalds2012-01-11 01:30:45 +0100
commit799f933a82d878d7f15215473c5561ce984ada75 (patch)
treea096ac8de8da31385026c3d51eec292815438ac4 /mm/vmscan.c
parentmm: bootmem: drop superfluous range check when freeing pages in bulk (diff)
downloadkernel-qcow2-linux-799f933a82d878d7f15215473c5561ce984ada75.tar.gz
kernel-qcow2-linux-799f933a82d878d7f15215473c5561ce984ada75.tar.xz
kernel-qcow2-linux-799f933a82d878d7f15215473c5561ce984ada75.zip
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 'mm/vmscan.c')
0 files changed, 0 insertions, 0 deletions