Re: [PATCH v3 3/4] mm: simplify parameter of setup_usemap()

David Hildenbrand
2021-01-05T16:57:19Z

On 05.01.21 08:47, Baoquan He wrote:
> Parameter 'zone' has got needed information, let's remove other
> unnecessary parameters.
>
> Signed-off-by: Baoquan He <bhe@redhat.com>
> Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
> ---
> mm/page_alloc.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index b2a46ffdaf0b..e0ce6fb6373b 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6824,25 +6824,22 @@ static unsigned long __init usemap_size(unsigned long zone_start_pfn, unsigned l
> return usemapsize / 8;
> }
>
> -static void __ref setup_usemap(struct pglist_data *pgdat,
> - struct zone *zone,
> - unsigned long zone_start_pfn,
> - unsigned long zonesize)
> +static void __ref setup_usemap(struct zone *zone)
> {
> - unsigned long usemapsize = usemap_size(zone_start_pfn, zonesize);
> + unsigned long usemapsize = usemap_size(zone->zone_start_pfn,
> + zone->spanned_pages);
> zone->pageblock_flags = NULL;
> if (usemapsize) {
> zone->pageblock_flags =
> memblock_alloc_node(usemapsize, SMP_CACHE_BYTES,
> - pgdat->node_id);
> + zone_to_nid(zone));
> if (!zone->pageblock_flags)
> panic("Failed to allocate %ld bytes for zone %s pageblock flags on node %d\n",
> - usemapsize, zone->name, pgdat->node_id);
> + usemapsize, zone->name, zone_to_nid(zone));
> }
> }
> #else
> -static inline void setup_usemap(struct pglist_data *pgdat, struct zone *zone,
> - unsigned long zone_start_pfn, unsigned long zonesize) {}
> +static inline void setup_usemap(struct zone *zone) {}
> #endif /* CONFIG_SPARSEMEM */
>
> #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE
> @@ -7037,7 +7034,7 @@ static void __init free_area_init_core(struct pglist_data *pgdat)
> continue;
>
> set_pageblock_order();
> - setup_usemap(pgdat, zone, zone_start_pfn, size);
> + setup_usemap(zone);
> init_currently_empty_zone(zone, zone_start_pfn, size);
> memmap_init_zone(zone);
> }
>

Reviewed-by: David Hildenbrand <david@redhat.com>

--
Thanks,

David / dhildenb