These are mostly minor changes based on feedback received on V5. The
biggest difference is the last patch. Kamezawa Hiroyuki pointed out that
PageSwapCache should be allowed to migrate even though they are unmapped
anonymous pages. This was not as straight-forward as expected. Hence, I
kept the patch responsible separate and at the end of the series. If it's
not correct, it can be easily dropped until it is resolved.
Changelog since V5
o Rebase to mmotm-2010-03-24-14-48
o Add more reviewed-by's
o Correct one spelling in vmstat.c and some leader clarifications
o Split the LRU isolation modes into a separate path
o Correct a NID change
o Call migrate_prep less frequently
o Remove unnecessary inlining
o Do not interfere with memory hot-remove
o Do not compact for orders <= PAGE_ALLOC_COSTLY_ORDER
o page_mapped instead of page_mapcount and allow swapcache to migrate
o Avoid too many pages being isolated for migration
o Handle PageSwapCache pages during migration
Changelog since V4
o Remove unnecessary check for PageLRU and PageUnevictable
o Fix isolated accounting
o Close race window between page_mapcount and rcu_read_lock
o Added a lot more Reviewed-by tags
Changelog since V3
o Document sysfs entries (subseqently, merged independently)
o COMPACTION should depend on MMU
o Comment updates
o Ensure proc/sysfs triggering of compaction fully completes
o Rename anon_vma refcount to external_refcount
o Rebase to mmotm on top of 2.6.34-rc1
Changelog since V2
o Move unusable and fragmentation indices to separate proc files
o Express indices as being between 0 and 1
o Update copyright notice for compaction.c
o Avoid infinite loop when split free page fails
o Init compact_resume at least once (impacted x86 testing)
o Fewer pages are isolated during compaction.
o LRU lists are no longer rotated when page is busy
o NR_ISOLATED_* is updated to avoid isolating too many pages
o Update zone LRU stats correctly when ...