Drain per-cpu lists when high-order allocations fail
authorMel Gorman <mel@csn.ul.ie>
Tue, 16 Oct 2007 08:25:50 +0000 (01:25 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 16 Oct 2007 16:42:59 +0000 (09:42 -0700)
commite2c55dc87f4a398b9c4dcc702dbc23a07fe14e23
treeb3811de298d4c98c4765db4af3838428553b5382
parentb92a6edd4b77a8794adb497280beea5df5e59a14
Drain per-cpu lists when high-order allocations fail

Per-cpu pages can accidentally cause fragmentation because they are free, but
pinned pages in an otherwise contiguous block.  When this patch is applied,
the per-cpu caches are drained after the direct-reclaim is entered if the
requested order is greater than 0.  It simply reuses the code used by suspend
and hotplug.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c