Re: [PATCH -V2] tdx, memory hotplug: Check whole hot-adding memory range for TDX

From: Huang, Ying
Date: Fri Oct 11 2024 - 04:55:43 EST


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