diff --git a/[refs] b/[refs] index 70ea02c15a40..59008ec66068 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 902d2e8ae0de29f483840ba1134af27343b9564d +refs/heads/master: e0f79b8f1f3394bb344b7b83d6f121ac2af327de diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index ca64e3e0c518..412d7872fc75 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/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;