On Thu, 29 Jan 2026 16:04:34 -0500 Gregory Price <[email protected]> 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. > > Cc: Oscar Salvador <[email protected]> > Cc: Andrew Morton <[email protected]> > Acked-by: David Hildenbrand (Red Hat) <[email protected]> > Signed-off-by: Gregory Price <[email protected]> Trivial comment inline. I don't really care either way. Pushing the policy up to the caller and ensuring it's explicitly constant for all the memory blocks (as opposed to relying on locks) seems sensible to me even without anything else. Reviewed-by: Jonathan Cameron <[email protected]> > --- > mm/memory_hotplug.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index bc805029da51..87796b617d9e 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(); > + int *online_type = arg; > + > + mem->online_type = *online_type; > return device_online(&mem->dev); > } > > @@ -1578,8 +1580,12 @@ int add_memory_resource(int nid, struct resource *res, > mhp_t mhp_flags) > merge_system_ram_resource(res); > > /* online pages if requested */ > - if (mhp_get_default_online_type() != MMOP_OFFLINE) > - walk_memory_blocks(start, size, NULL, online_memory_block); > + if (mhp_get_default_online_type() != MMOP_OFFLINE) { > + int online_type = mhp_get_default_online_type(); Maybe move the local variable outside the loop to avoid the double call. > + > + walk_memory_blocks(start, size, &online_type, > + online_memory_block); > + } > > return ret; > error:
