Re: [PATCH 02/16] mm/page_alloc: make zone_pcp_update() static

From: Anshuman Khandual
Date: Tue Sep 13 2022 - 03:58:48 EST




On 9/9/22 14:54, Miaohe Lin wrote:
> Since commit b92ca18e8ca5 ("mm/page_alloc: disassociate the pcp->high
> from pcp->batch"), zone_pcp_update() is only used in mm/page_alloc.c.
> Move zone_pcp_update() up to avoid forward declaration and then make
> it static. No functional change intended.
>
> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>

Reviewed-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>

> ---
> mm/internal.h | 1 -
> mm/page_alloc.c | 22 +++++++++++-----------
> 2 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/mm/internal.h b/mm/internal.h
> index 4e5f3d0d5538..2424fcde6538 100644
> --- a/mm/internal.h
> +++ b/mm/internal.h
> @@ -367,7 +367,6 @@ extern int user_min_free_kbytes;
> extern void free_unref_page(struct page *page, unsigned int order);
> extern void free_unref_page_list(struct list_head *list);
>
> -extern void zone_pcp_update(struct zone *zone, int cpu_online);
> extern void zone_pcp_reset(struct zone *zone);
> extern void zone_pcp_disable(struct zone *zone);
> extern void zone_pcp_enable(struct zone *zone);
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 4b97a03fa2dd..2deac2fe3372 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -7238,6 +7238,17 @@ void __meminit setup_zone_pageset(struct zone *zone)
> zone_set_pageset_high_and_batch(zone, 0);
> }
>
> +/*
> + * The zone indicated has a new number of managed_pages; batch sizes and percpu
> + * page high values need to be recalculated.
> + */
> +static void zone_pcp_update(struct zone *zone, int cpu_online)
> +{
> + mutex_lock(&pcp_batch_high_lock);
> + zone_set_pageset_high_and_batch(zone, cpu_online);
> + mutex_unlock(&pcp_batch_high_lock);
> +}
> +
> /*
> * Allocate per cpu pagesets and initialize them.
> * Before this call only boot pagesets were available.
> @@ -9469,17 +9480,6 @@ void free_contig_range(unsigned long pfn, unsigned long nr_pages)
> }
> EXPORT_SYMBOL(free_contig_range);
>
> -/*
> - * The zone indicated has a new number of managed_pages; batch sizes and percpu
> - * page high values need to be recalculated.
> - */
> -void zone_pcp_update(struct zone *zone, int cpu_online)
> -{
> - mutex_lock(&pcp_batch_high_lock);
> - zone_set_pageset_high_and_batch(zone, cpu_online);
> - mutex_unlock(&pcp_batch_high_lock);
> -}
> -
> /*
> * Effectively disable pcplists for the zone by setting the high limit to 0
> * and draining all cpus. A concurrent page freeing on another CPU that's about