Re: [PATCH v3] mm, hugetlb: skip irrelevant nodes in show_free_areas()

From: Andrew Morton
Date: Tue Jul 05 2022 - 17:25:55 EST


On Tue, 5 Jul 2022 17:21:19 +0800 Gang Li <ligang.bdlg@xxxxxxxxxxxxx> wrote:

> show_free_areas() allows to filter out node specific data which is
> irrelevant to the allocation request. But hugetlb_show_meminfo() still
> shows hugetlb on all nodes, which is redundant and unnecessary.
>
> Use show_mem_node_skip() to skip irrelevant nodes. And replace
> hugetlb_show_meminfo() with hugetlb_show_meminfo_node(nid).

It would be helpful to include before-and-after sample output text in
the changelog to help others assess the proposed change.

> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6202,7 +6202,11 @@ void show_free_areas(unsigned int filter, nodemask_t *nodemask)
> printk(KERN_CONT "= %lukB\n", K(total));
> }
>
> - hugetlb_show_meminfo();
> + for_each_online_node(nid) {
> + if (show_mem_node_skip(filter, nid, nodemask))
> + continue;
> + hugetlb_show_meminfo_node(nid);
> + }
>

Does this mean that potentially useful info about presently-offline
nodes will no longer be available?