2019-05-28 16:10:45

by Kirill Tkhai

[permalink] [raw]
Subject: [PATCH] mm: Fix recent_rotated history

Johannes pointed that after commit 886cf1901db9
we lost all zone_reclaim_stat::recent_rotated
history. This commit fixes that.

Fixes: 886cf1901db9 "mm: move recent_rotated pages calculation to shrink_inactive_list()"
Reported-by: Johannes Weiner <[email protected]>
Signed-off-by: Kirill Tkhai <[email protected]>
---
mm/vmscan.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index d9c3e873eca6..1d49329a4d7d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -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);



2019-05-29 08:31:45

by Kirill Tkhai

[permalink] [raw]
Subject: Re: [PATCH] mm: Fix recent_rotated history

Missed Johannes :(

CC

On 28.05.2019 19:09, Kirill Tkhai wrote:
> Johannes pointed that after commit 886cf1901db9
> we lost all zone_reclaim_stat::recent_rotated
> history. This commit fixes that.
>
> Fixes: 886cf1901db9 "mm: move recent_rotated pages calculation to shrink_inactive_list()"
> Reported-by: Johannes Weiner <[email protected]>
> Signed-off-by: Kirill Tkhai <[email protected]>
> ---
> mm/vmscan.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index d9c3e873eca6..1d49329a4d7d 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -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);
>
>

2019-05-29 14:03:43

by Daniel Jordan

[permalink] [raw]
Subject: Re: [PATCH] mm: Fix recent_rotated history

On Wed, May 29, 2019 at 11:30:09AM +0300, Kirill Tkhai wrote:
> Missed Johannes :(
>
> CC
>
> On 28.05.2019 19:09, Kirill Tkhai wrote:
> > Johannes pointed that after commit 886cf1901db9
> > we lost all zone_reclaim_stat::recent_rotated
> > history. This commit fixes that.

Ugh, good catch.

I took another pass through this series but didn't notice anything else.

> >
> > Fixes: 886cf1901db9 "mm: move recent_rotated pages calculation to shrink_inactive_list()"
> > Reported-by: Johannes Weiner <[email protected]>
> > Signed-off-by: Kirill Tkhai <[email protected]>
> > ---
> > mm/vmscan.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index d9c3e873eca6..1d49329a4d7d 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -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);
> >
> >
>

2019-05-29 15:40:47

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH] mm: Fix recent_rotated history

On Tue 28-05-19 19:09:02, Kirill Tkhai wrote:
> Johannes pointed that after commit 886cf1901db9
> we lost all zone_reclaim_stat::recent_rotated
> history. This commit fixes that.
>
> Fixes: 886cf1901db9 "mm: move recent_rotated pages calculation to shrink_inactive_list()"
> Reported-by: Johannes Weiner <[email protected]>
> Signed-off-by: Kirill Tkhai <[email protected]>

I didn't get to review the original bug series but this one looks
obviously correct.

Acked-by: Michal Hocko <[email protected]>

> ---
> mm/vmscan.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index d9c3e873eca6..1d49329a4d7d 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -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);
>
>

--
Michal Hocko
SUSE Labs

2019-05-29 15:47:09

by Johannes Weiner

[permalink] [raw]
Subject: Re: [PATCH] mm: Fix recent_rotated history

On Tue, May 28, 2019 at 07:09:02PM +0300, Kirill Tkhai wrote:
> Johannes pointed that after commit 886cf1901db9
> we lost all zone_reclaim_stat::recent_rotated
> history. This commit fixes that.
>
> Fixes: 886cf1901db9 "mm: move recent_rotated pages calculation to shrink_inactive_list()"
> Reported-by: Johannes Weiner <[email protected]>
> Signed-off-by: Kirill Tkhai <[email protected]>

Acked-by: Johannes Weiner <[email protected]>