Re: [PATCH -V2] tdx, memory hotplug: Check whole hot-adding memory range for TDX
From: Huang, Ying
Date: Thu Oct 10 2024 - 21:31:00 EST
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.
$ grep __weak -r mm kernel init | wc -l
231
--
Best Regards,
Huang, Ying