mm/mm_init.c: move set_pageblock_order() to free_area_init()
authorHaifeng Xu <haifeng.xu@shopee.com>
Thu, 1 Jun 2023 06:35:35 +0000 (06:35 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 9 Jun 2023 23:25:51 +0000 (16:25 -0700)
pageblock_order only needs to be set once, there is no need to initialize
it in every zone/node.

Link: https://lkml.kernel.org/r/20230601063536.26882-1-haifeng.xu@shopee.com
Signed-off-by: Haifeng Xu <haifeng.xu@shopee.com>
Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mm_init.c

index 3ddd18a..015355d 100644 (file)
@@ -1585,7 +1585,6 @@ static void __init free_area_init_core(struct pglist_data *pgdat)
                if (!size)
                        continue;
 
-               set_pageblock_order();
                setup_usemap(zone);
                init_currently_empty_zone(zone, zone->zone_start_pfn, size);
        }
@@ -1852,6 +1851,8 @@ void __init free_area_init(unsigned long *max_zone_pfn)
        /* Initialise every node */
        mminit_verify_pageflags_layout();
        setup_nr_node_ids();
+       set_pageblock_order();
+
        for_each_node(nid) {
                pg_data_t *pgdat;