2019-11-25 18:42:50

by Hao Lee

[permalink] [raw]
Subject: [PATCH] mm: use the existing variable instead of a duplicate statement

The address of zone has been stored in variable 'zone', so there is no need
to get it again with a duplicate statement.

Signed-off-by: Hao Lee <[email protected]>
---
mm/vmscan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index ee4eecc7e1c2..de4b2d1e66be 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -363,22 +363,21 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone
for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) {
struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
unsigned long size;

if (!managed_zone(zone))
continue;

if (!mem_cgroup_disabled())
size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
else
- size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid],
- NR_ZONE_LRU_BASE + lru);
+ size = zone_page_state(zone, NR_ZONE_LRU_BASE + lru);
lru_size -= min(size, lru_size);
}

return lru_size;

}

/*
* Add a shrinker callback to be called from the vm.
*/
--
2.14.5


2019-11-25 18:45:32

by Mel Gorman

[permalink] [raw]
Subject: Re: [PATCH] mm: use the existing variable instead of a duplicate statement

On Mon, Nov 25, 2019 at 02:53:20PM +0000, Hao Lee wrote:
> The address of zone has been stored in variable 'zone', so there is no need
> to get it again with a duplicate statement.
>
> Signed-off-by: Hao Lee <[email protected]>

Acked-by: Mel Gorman <[email protected]>

--
Mel Gorman
SUSE Labs

2019-11-26 12:51:42

by David Hildenbrand

[permalink] [raw]
Subject: Re: [PATCH] mm: use the existing variable instead of a duplicate statement

On 25.11.19 15:53, Hao Lee wrote:
> The address of zone has been stored in variable 'zone', so there is no need
> to get it again with a duplicate statement.
>
> Signed-off-by: Hao Lee <[email protected]>
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index ee4eecc7e1c2..de4b2d1e66be 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -363,22 +363,21 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone
> for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) {
> struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
> unsigned long size;
>
> if (!managed_zone(zone))
> continue;
>
> if (!mem_cgroup_disabled())
> size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
> else
> - size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid],
> - NR_ZONE_LRU_BASE + lru);
> + size = zone_page_state(zone, NR_ZONE_LRU_BASE + lru);
> lru_size -= min(size, lru_size);
> }
>
> return lru_size;
>
> }
>
> /*
> * Add a shrinker callback to be called from the vm.
> */
>

Maybe tweak the subject to something meaningful:

"mm/vmscan: reuse stored zone in lruvec_lru_size()"

Reviewed-by: David Hildenbrand <[email protected]>

--
Thanks,

David / dhildenb

2019-11-26 14:40:16

by Hao Lee

[permalink] [raw]
Subject: Re: [PATCH] mm: use the existing variable instead of a duplicate statement

On Tue, 26 Nov 2019 at 20:13, David Hildenbrand <[email protected]> wrote:
>
> On 25.11.19 15:53, Hao Lee wrote:
> > The address of zone has been stored in variable 'zone', so there is no need
> > to get it again with a duplicate statement.
> >
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -363,22 +363,21 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone
> > for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) {
> > struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
> > unsigned long size;
> >
> > if (!managed_zone(zone))
> > continue;
> >
> > if (!mem_cgroup_disabled())
> > size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
> > else
> > - size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid],
> > - NR_ZONE_LRU_BASE + lru);
> > + size = zone_page_state(zone, NR_ZONE_LRU_BASE + lru);
> > lru_size -= min(size, lru_size);
> > }
> >
> > return lru_size;
> >
> > }
>
> Maybe tweak the subject to something meaningful:
>
> "mm/vmscan: reuse stored zone in lruvec_lru_size()"
>
> Reviewed-by: David Hildenbrand <[email protected]>
>
Thanks. I get it!

Regards,
Hao Lee

2019-11-28 10:05:05

by Anshuman Khandual

[permalink] [raw]
Subject: Re: [PATCH] mm: use the existing variable instead of a duplicate statement

On 11/25/2019 08:23 PM, Hao Lee wrote:
> The address of zone has been stored in variable 'zone', so there is no need
> to get it again with a duplicate statement.
>
> Signed-off-by: Hao Lee <[email protected]>
> ---
> mm/vmscan.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index ee4eecc7e1c2..de4b2d1e66be 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -363,22 +363,21 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone
> for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) {
> struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
> unsigned long size;
>
> if (!managed_zone(zone))
> continue;
>
> if (!mem_cgroup_disabled())
> size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
> else
> - size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid],
> - NR_ZONE_LRU_BASE + lru);
> + size = zone_page_state(zone, NR_ZONE_LRU_BASE + lru);

Is not this already merged with following commit on next-20191126 ?

54eacdb0dd8f9a ("mm: vmscan: simplify lruvec_lru_size()")

> lru_size -= min(size, lru_size);
> }
>
> return lru_size;
>
> }
>
> /*
> * Add a shrinker callback to be called from the vm.
> */
>

2019-11-28 15:16:24

by Hao Lee

[permalink] [raw]
Subject: Re: [PATCH] mm: use the existing variable instead of a duplicate statement

On Thu, 28 Nov 2019 at 18:02, Anshuman Khandual
<[email protected]> wrote:
>
> > diff --git a/mm/vmscan.c b/mm/vmscan.c
> > index ee4eecc7e1c2..de4b2d1e66be 100644
> > --- a/mm/vmscan.c
> > +++ b/mm/vmscan.c
> > @@ -363,22 +363,21 @@ unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone
> > for (zid = zone_idx + 1; zid < MAX_NR_ZONES; zid++) {
> > struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
> > unsigned long size;
> >
> > if (!managed_zone(zone))
> > continue;
> >
> > if (!mem_cgroup_disabled())
> > size = mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
> > else
> > - size = zone_page_state(&lruvec_pgdat(lruvec)->node_zones[zid],
> > - NR_ZONE_LRU_BASE + lru);
> > + size = zone_page_state(zone, NR_ZONE_LRU_BASE + lru);
>
> Is not this already merged with following commit on next-20191126 ?
>
> 54eacdb0dd8f9a ("mm: vmscan: simplify lruvec_lru_size()")

Yes...That's really a coincidence... I use torvalds' tree to develop
but never think this function has been refactored on next tree just a
few days ago. Thank you.

Regards,
Hao Lee