From: Andy Whitcroft When scanning the order sized area around the tag page we pull all pages of the matching active state; the non-matching pages are not otherwise affected. We currently count these as scanned increasing the apparent scan rates. Previously we would only count a page scanned if it was actually removed from the LRU, either then being reclaimed or rotated back onto the head of the LRU. The effect of this is to cause reclaim to terminate artificially early when the scan count is reached, reducing effectivness. Move to counting only those pages we actually remove from the LRU as scanned. Signed-off-by: Andy Whitcroft Acked-by: Mel Gorman Signed-off-by: Andrew Morton --- mm/vmscan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN mm/vmscan.c~lumpy-only-count-taken-pages-as-scanned mm/vmscan.c --- a/mm/vmscan.c~lumpy-only-count-taken-pages-as-scanned +++ a/mm/vmscan.c @@ -724,11 +724,11 @@ static unsigned long isolate_lru_pages(u /* Check that we have not crossed a zone boundary. */ if (unlikely(page_zone_id(cursor_page) != zone_id)) continue; - scan++; switch (__isolate_lru_page(cursor_page, active)) { case 0: list_move(&cursor_page->lru, dst); nr_taken++; + scan++; break; case -EBUSY: _