diff --git a/mm/vmscan.c b/mm/vmscan.c index ca64e3e0c518965a81bc99516199978e16f6b469..412d7872fc75af2e33444470951029db21b95b6d 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1413,16 +1413,13 @@ static unsigned long shrink_zone(int priority, struct zone *zone, if (scan_global_lru(sc)) { int file = is_file_lru(l); int scan; - /* - * Add one to nr_to_scan just to make sure that the - * kernel will slowly sift through each list. - */ + scan = zone_page_state(zone, NR_LRU_BASE + l); if (priority) { scan >>= priority; scan = (scan * percent[file]) / 100; } - zone->lru[l].nr_scan += scan + 1; + zone->lru[l].nr_scan += scan; nr[l] = zone->lru[l].nr_scan; if (nr[l] >= sc->swap_cluster_max) zone->lru[l].nr_scan = 0;