mm/vmscan.c: fix recent_rotated history
authorKirill Tkhai <ktkhai@virtuozzo.com>
Thu, 13 Jun 2019 22:55:58 +0000 (15:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 14 Jun 2019 03:34:56 +0000 (17:34 -1000)
Johannes pointed out that after commit 886cf1901db9 ("mm: move
recent_rotated pages calculation to shrink_inactive_list()") we lost all
zone_reclaim_stat::recent_rotated history.

This fixes it.

Link: http://lkml.kernel.org/r/155905972210.26456.11178359431724024112.stgit@localhost.localdomain
Fixes: 886cf1901db9 ("mm: move recent_rotated pages calculation to shrink_inactive_list()")
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Reported-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Daniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c

index 7acd0afdfc2a707843c21fa59e6a91a2f22f2a43..ffa82b1d39a2d47dc74f0504a0d9b1082c5a8d5c 100644 (file)
@@ -1953,8 +1953,8 @@ shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec,
        if (global_reclaim(sc))
                __count_vm_events(item, nr_reclaimed);
        __count_memcg_events(lruvec_memcg(lruvec), item, nr_reclaimed);
-       reclaim_stat->recent_rotated[0] = stat.nr_activate[0];
-       reclaim_stat->recent_rotated[1] = stat.nr_activate[1];
+       reclaim_stat->recent_rotated[0] += stat.nr_activate[0];
+       reclaim_stat->recent_rotated[1] += stat.nr_activate[1];
 
        move_pages_to_lru(lruvec, &page_list);