]> git.baikalelectronics.ru Git - kernel.git/commit
vmscan: kswapd: don't retry balance_pgdat() if all zones are unreclaimable
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Sat, 16 Jan 2010 01:01:25 +0000 (17:01 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 16 Jan 2010 20:15:39 +0000 (12:15 -0800)
commitfc2d855184fe16f23b15bb907bd37784a0f40a9e
tree1fc5a20da15541e23d02c33ae0bb574fb1f2e40f
parentff76b711f5eafa23418578b123b8db282131f17b
vmscan: kswapd: don't retry balance_pgdat() if all zones are unreclaimable

Commit 19d32b92 (vmscan: have kswapd sleep for a short interval and double
check it should be asleep) can cause kswapd to enter an infinite loop if
running on a single-CPU system.  If all zones are unreclaimble,
sleeping_prematurely return 1 and kswapd will call balance_pgdat() again.
but it's totally meaningless, balance_pgdat() doesn't anything against
unreclaimable zone!

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Reported-by: Will Newton <will.newton@gmail.com>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Tested-by: Will Newton <will.newton@gmail.com>
Reviewed-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c