David Hildenbrand <david@xxxxxxxxxx> writes: > On 11.10.24 03:27, Huang, Ying wrote: >> David Hildenbrand <david@xxxxxxxxxx> writes: >> >>>> extern u64 max_mem_size; >>>> extern int mhp_online_type_from_str(const char *str); >>>> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c >>>> index 621ae1015106..c4769f24b1e2 100644 >>>> --- a/mm/memory_hotplug.c >>>> +++ b/mm/memory_hotplug.c >>>> @@ -1305,6 +1305,11 @@ int try_online_node(int nid) >>>> return ret; >>>> } >>>> +int __weak arch_check_hotplug_memory_range(u64 start, u64 size) >>>> +{ >>>> + return 0; >>>> +} >>> >>> BTW, I remember that "__weak" doesn't always behave the way it would >>> seem, which is the reason we're usually using >>> >>> #define arch_check_hotplug_memory_range arch_check_hotplug_memory_range >>> >>> #ifndef arch_check_hotplug_memory_range >>> ... >>> #endif >>> >>> >>> Not that I remember the details, just that it can result in rather >>> surprising outcomes (e.g., the wrong function getting called). >> I can replace __weak with #define/#ifndef. >> However, it appears that "__weak" is still widely used now. > > Probably better to avoid new ones. Sure. Will do that in the future versions. > See also > Documentation/dev-tools/checkpatch.rst > > I assume checkpatch.pl should complain as well? Double checked again. It doesn't complain for that. -- Best Regards, Huang, Ying