On 6/30/26 2:18 PM, Gregory Price wrote:
> Modify online_memory_block() to accept the online type through its arg
> parameter rather than calling mhp_get_default_online_type() internally.
> 
> This prepares for allowing callers to specify explicit online types.
> 
> Update the caller in add_memory_resource() to pass the default online
> type via a local variable.
> 
> No functional change.
> 
> Acked-by: David Hildenbrand (Red Hat) <[email protected]>
> Reviewed-by: Pankaj Gupta <[email protected]>
> Signed-off-by: Gregory Price <[email protected]>

Reviewed-by: Dave Jiang <[email protected]>

> ---
>  mm/memory_hotplug.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 7ac19fab2263..6833208cc17c 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -1337,7 +1337,9 @@ static int check_hotplug_memory_range(u64 start, u64 
> size)
>  
>  static int online_memory_block(struct memory_block *mem, void *arg)
>  {
> -     mem->online_type = mhp_get_default_online_type();
> +     enum mmop *online_type = arg;
> +
> +     mem->online_type = *online_type;
>       return device_online(&mem->dev);
>  }
>  
> @@ -1494,6 +1496,7 @@ static int create_altmaps_and_memory_blocks(int nid, 
> struct memory_group *group,
>  int add_memory_resource(int nid, struct resource *res, mhp_t mhp_flags)
>  {
>       struct mhp_params params = { .pgprot = pgprot_mhp(PAGE_KERNEL) };
> +     enum mmop online_type = mhp_get_default_online_type();
>       enum memblock_flags memblock_flags = MEMBLOCK_NONE;
>       struct memory_group *group = NULL;
>       u64 start, size;
> @@ -1582,7 +1585,8 @@ int add_memory_resource(int nid, struct resource *res, 
> mhp_t mhp_flags)
>  
>       /* online pages if requested */
>       if (mhp_get_default_online_type() != MMOP_OFFLINE)
> -             walk_memory_blocks(start, size, NULL, online_memory_block);
> +             walk_memory_blocks(start, size, &online_type,
> +                                online_memory_block);
>  
>       return ret;
>  error:


Reply via email to