On Fri, 13 May 2011, Mel Gorman wrote:
To avoid locking and per-cpu overhead, SLUB optimisically usesAcked-by: David Rientjes<rientjes@xxxxxxxxxx>
high-order allocations and falls back to lower allocations if they
fail. However, by simply trying to allocate, kswapd is woken up to
start reclaiming at that order. On a desktop system, two users report
that the system is getting locked up with kswapd using large amounts
of CPU. Using SLAB instead of SLUB made this problem go away.
This patch prevents kswapd being woken up for high-order allocations.
Testing indicated that with this patch applied, the system was much
harder to hang and even when it did, it eventually recovered.
Signed-off-by: Mel Gorman<mgorman@xxxxxxx>