vmscan: throttle direct reclaim when too many pages are isolated already
authorRik van Riel <riel@redhat.com>
Tue, 22 Sep 2009 00:01:38 +0000 (17:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 22 Sep 2009 14:17:29 +0000 (07:17 -0700)
commit35cd78156c499ef83f60605e4643d5a98fef14fd
tree67cdc9019d4b110b9d57634bd347c8dad6bf8346
parenta731286de62294b63d8ceb3c5914ac52cc17e690
vmscan: throttle direct reclaim when too many pages are isolated already

When way too many processes go into direct reclaim, it is possible for all
of the pages to be taken off the LRU.  One result of this is that the next
process in the page reclaim code thinks there are no reclaimable pages
left and triggers an out of memory kill.

One solution to this problem is to never let so many processes into the
page reclaim path that the entire LRU is emptied.  Limiting the system to
only having half of each inactive list isolated for reclaim should be
safe.

Signed-off-by: Rik van Riel <riel@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c