summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorMinchan Kim <minchan.kim@gmail.com>2009-08-26 14:29:23 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-08-26 20:06:52 -0700
commit03ef83af528899aa339e42d8024b37e2f434fba4 (patch)
tree1a323ead874d690de79cd213d5231b4fc758979b /kernel
parentb62e408c05228f40e69bb38a48db8961cac6cd23 (diff)
mm: fix for infinite churning of mlocked pages
An mlocked page might lose the isolatation race. This causes the page to clear PG_mlocked while it remains in a VM_LOCKED vma. This means it can be put onto the [in]active list. We can rescue it by using try_to_unmap() in shrink_page_list(). But now, As Wu Fengguang pointed out, vmscan has a bug. If the page has PG_referenced, it can't reach try_to_unmap() in shrink_page_list() but is put into the active list. If the page is referenced repeatedly, it can remain on the [in]active list without being moving to the unevictable list. This patch fixes it. Reported-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Reviewed-by: KOSAKI Motohiro <<kosaki.motohiro@jp.fujitsu.com> Cc: Lee Schermerhorn <lee.schermerhorn@hp.com> Acked-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions