Re: [v6 PATCH 01/11] mm: vmscan: use nid from shrink_control for tracepoint

2021-02-03 Thread Kirill Tkhai
On 03.02.2021 20:20, Yang Shi wrote:
> The tracepoint's nid should show what node the shrink happens on, the start 
> tracepoint
> uses nid from shrinkctl, but the nid might be set to 0 before end tracepoint 
> if the
> shrinker is not NUMA aware, so the traceing log may show the shrink happens 
> on one
> node but end up on the other node.  It seems confusing.  And the following 
> patch
> will remove using nid directly in do_shrink_slab(), this patch also helps 
> cleanup
> the code.
> 
> Acked-by: Vlastimil Babka 
> Signed-off-by: Yang Shi 

Acked-by: Kirill Tkhai 

> ---
>  mm/vmscan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index b1b574ad199d..b512dd5e3a1c 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -535,7 +535,7 @@ static unsigned long do_shrink_slab(struct shrink_control 
> *shrinkctl,
>   else
>   new_nr = atomic_long_read(>nr_deferred[nid]);
>  
> - trace_mm_shrink_slab_end(shrinker, nid, freed, nr, new_nr, total_scan);
> + trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, 
> total_scan);
>   return freed;
>  }
>  
> 



[v6 PATCH 01/11] mm: vmscan: use nid from shrink_control for tracepoint

2021-02-03 Thread Yang Shi
The tracepoint's nid should show what node the shrink happens on, the start 
tracepoint
uses nid from shrinkctl, but the nid might be set to 0 before end tracepoint if 
the
shrinker is not NUMA aware, so the traceing log may show the shrink happens on 
one
node but end up on the other node.  It seems confusing.  And the following patch
will remove using nid directly in do_shrink_slab(), this patch also helps 
cleanup
the code.

Acked-by: Vlastimil Babka 
Signed-off-by: Yang Shi 
---
 mm/vmscan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index b1b574ad199d..b512dd5e3a1c 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -535,7 +535,7 @@ static unsigned long do_shrink_slab(struct shrink_control 
*shrinkctl,
else
new_nr = atomic_long_read(>nr_deferred[nid]);
 
-   trace_mm_shrink_slab_end(shrinker, nid, freed, nr, new_nr, total_scan);
+   trace_mm_shrink_slab_end(shrinker, shrinkctl->nid, freed, nr, new_nr, 
total_scan);
return freed;
 }
 
-- 
2.26.2