On Thu, 21 May 2026 12:01:21 +0800, Li Zhe <[email protected]> wrote:
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index 2992711351a0..17a84d4cda01 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -1084,17 +1084,25 @@ static inline bool 
> zone_device_page_init_optimization_enabled(void)
>               IS_ALIGNED(sizeof(struct page), sizeof(u64));
>  }
>  
> -static inline void zone_device_template_page_init(struct page *template,
> -                                               unsigned long pfn,
> -                                               unsigned long zone_idx,
> -                                               int nid,
> -                                               struct dev_pagemap *pgmap)
> +static inline void zone_device_template_head_page_init(struct page *template,
> +             unsigned long pfn, unsigned long zone_idx, int nid,
> +             struct dev_pagemap *pgmap)

Yeah, two tabs from the start would be better :)

> @@ -1156,12 +1166,28 @@ static void __ref memmap_init_compound(struct page 
> *head,
> [ ... skip 17 lines ... ]
> -             zone_device_page_init_slow(page, pfn, zone_idx, nid, pgmap);
> -             prep_compound_tail(page, head, order);
> -             set_page_count(page, 0);
> +             if (use_template) {
> +                     zone_device_page_init_from_template(page, pfn,
> +                                                         &template);

continue here and there won't be need to indent the slow path.

Reviewed-by: Mike Rapoport (Microsoft) <[email protected]>

-- 
Sincerely yours,
Mike.


Reply via email to