Re: [PATCH] sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa

From: Srikar Dronamraju
Date: Tue Jan 18 2022 - 01:59:14 EST


* Bharata B Rao <bharata@xxxxxxx> [2022-01-18 10:35:15]:

> The older format of /proc/pid/sched printed home node info which
> required the mempolicy and task lock around mpol_get(). However
> the format has changed since then and there is no need for
> sched_show_numa() any more to have mempolicy argument,
> asssociated mpol_get/put and task_lock/unlock. Remove them.
>

> Fixes: 397f2378f1361 ("sched/numa: Fix numa balancing stats in /proc/pid/sched")
> Signed-off-by: Bharata B Rao <bharata@xxxxxxx>

Agree. Since pol is now being used, this whole hunk can be removed.

Reviewed-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>

> ---
> kernel/sched/debug.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c
> index 7dcbaa31c5d9..50e05c8d0d61 100644
> --- a/kernel/sched/debug.c
> +++ b/kernel/sched/debug.c
> @@ -931,25 +931,15 @@ void print_numa_stats(struct seq_file *m, int node, unsigned long tsf,
> static void sched_show_numa(struct task_struct *p, struct seq_file *m)
> {
> #ifdef CONFIG_NUMA_BALANCING
> - struct mempolicy *pol;
> -
> if (p->mm)
> P(mm->numa_scan_seq);
>
> - task_lock(p);
> - pol = p->mempolicy;
> - if (pol && !(pol->flags & MPOL_F_MORON))
> - pol = NULL;
> - mpol_get(pol);
> - task_unlock(p);
> -
> P(numa_pages_migrated);
> P(numa_preferred_nid);
> P(total_numa_faults);
> SEQ_printf(m, "current_node=%d, numa_group_id=%d\n",
> task_node(p), task_numa_group_id(p));
> show_numa_stats(p, m);
> - mpol_put(pol);
> #endif
> }
>
> --
> 2.25.1
>

--
Thanks and Regards
Srikar Dronamraju