Re: [PATCH] mm/mm_init.c: drop 'nid' parameter from check_for_memory()

From: Michal Hocko
Date: Wed Jun 07 2023 - 04:48:36 EST


On Wed 07-06-23 03:24:02, Haifeng Xu wrote:
> The node_id in pgdat has already been set in free_area_init_node(),
> so use it internally instead of passing a redundant parameter.

Yes and this even improves the code because having both pgdat and nid
arguments is confusing and can be error prone because those might
mismatch and we would end up allocating from a different node in the
end.

> Signed-off-by: Haifeng Xu <haifeng.xu@xxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> mm/mm_init.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index b82718d596c3..78e67041ae9f 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -1725,7 +1725,7 @@ static void __init free_area_init_node(int nid)
> }
>
> /* Any regular or high memory on that node ? */
> -static void check_for_memory(pg_data_t *pgdat, int nid)
> +static void check_for_memory(pg_data_t *pgdat)
> {
> enum zone_type zone_type;
>
> @@ -1733,9 +1733,9 @@ static void check_for_memory(pg_data_t *pgdat, int nid)
> struct zone *zone = &pgdat->node_zones[zone_type];
> if (populated_zone(zone)) {
> if (IS_ENABLED(CONFIG_HIGHMEM))
> - node_set_state(nid, N_HIGH_MEMORY);
> + node_set_state(pgdat->node_id, N_HIGH_MEMORY);
> if (zone_type <= ZONE_NORMAL)
> - node_set_state(nid, N_NORMAL_MEMORY);
> + node_set_state(pgdat->node_id, N_NORMAL_MEMORY);
> break;
> }
> }
> @@ -1887,7 +1887,7 @@ void __init free_area_init(unsigned long *max_zone_pfn)
> /* Any memory on that node */
> if (pgdat->node_present_pages)
> node_set_state(nid, N_MEMORY);
> - check_for_memory(pgdat, nid);
> + check_for_memory(pgdat);
> }
>
> memmap_init();
> --
> 2.25.1

--
Michal Hocko
SUSE Labs