summaryrefslogtreecommitdiff
path: root/mm/internal.h
diff options
context:
space:
mode:
authorRik van Riel <riel@redhat.com>2009-12-14 17:59:48 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2010-01-06 15:05:21 -0800
commitb2ea8cb9c8f1937cb80b9beb50548a05bfc37819 (patch)
treec573401134391e9750832ef7850b0dc09b1b5753 /mm/internal.h
parent370b7588553ff0dc89c8b9436a935e2b7fe0207d (diff)
vmscan: do not evict inactive pages when skipping an active list scan
commit b39415b2731d7dec5e612d2d12595da82399eedf upstream. In AIM7 runs, recent kernels start swapping out anonymous pages well before they should. This is due to shrink_list falling through to shrink_inactive_list if !inactive_anon_is_low(zone, sc), when all we really wanted to do is pre-age some anonymous pages to give them extra time to be referenced while on the inactive list. The obvious fix is to make sure that shrink_list does not fall through to scanning/reclaiming inactive pages when we called it to scan one of the active lists. This change should be safe because the loop in shrink_zone ensures that we will still shrink the anon and file inactive lists whenever we should. [kosaki.motohiro@jp.fujitsu.com: inactive_file_is_low() should be inactive_anon_is_low()] Reported-by: Larry Woodman <lwoodman@redhat.com> Signed-off-by: Rik van Riel <riel@redhat.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Tomasz Chmielewski <mangoo@wpkg.org> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Rik Theys <rik.theys@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'mm/internal.h')
0 files changed, 0 insertions, 0 deletions