[1/2] mm/mm_init.c: move set_pageblock_order() to free_area_init()

Message ID 20230601063536.26882-1-haifeng.xu@shopee.com
State New
Headers
Series [1/2] mm/mm_init.c: move set_pageblock_order() to free_area_init() |

Commit Message

Haifeng Xu June 1, 2023, 6:35 a.m. UTC
  pageblock_order only needs to be set once, there is no need to
initialize it in every zone/node.

Signed-off-by: Haifeng Xu <haifeng.xu@shopee.com>
---
 mm/mm_init.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Mike Rapoport June 1, 2023, 10:34 a.m. UTC | #1
On Thu, Jun 01, 2023 at 06:35:35AM +0000, Haifeng Xu wrote:
> pageblock_order only needs to be set once, there is no need to
> initialize it in every zone/node.
> 
> Signed-off-by: Haifeng Xu <haifeng.xu@shopee.com>

Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  mm/mm_init.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index 93821824271a..232efac9a929 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -1583,7 +1583,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);
>  	}
> @@ -1850,6 +1849,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;
>  
> -- 
> 2.25.1
>
  

Patch

diff --git a/mm/mm_init.c b/mm/mm_init.c
index 93821824271a..232efac9a929 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -1583,7 +1583,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);
 	}
@@ -1850,6 +1849,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;