diff --git a/[refs] b/[refs] index e2ba7836bda7..c06f99e9006f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c9f299d9862deadf9fbee3ca28d915fdb006975a +refs/heads/master: eeee9a8cd1e93c8b94e7788790fa9e2f8910c779 diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index 6827d35954fb..e2b31a522a66 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -1376,13 +1376,16 @@ static void get_scan_ratio(struct zone *zone, struct scan_control *sc, zone_nr_pages(zone, sc, LRU_INACTIVE_ANON); file = zone_nr_pages(zone, sc, LRU_ACTIVE_FILE) + zone_nr_pages(zone, sc, LRU_INACTIVE_FILE); - free = zone_page_state(zone, NR_FREE_PAGES); - /* If we have very few page cache pages, force-scan anon pages. */ - if (unlikely(file + free <= zone->pages_high)) { - percent[0] = 100; - percent[1] = 0; - return; + if (scan_global_lru(sc)) { + free = zone_page_state(zone, NR_FREE_PAGES); + /* If we have very few page cache pages, + force-scan anon pages. */ + if (unlikely(file + free <= zone->pages_high)) { + percent[0] = 100; + percent[1] = 0; + return; + } } /*