Re: [PATCH] mm/memblock: only mark/clear KHO scratch memory when needed
From: Usama Arif
Date: Wed Nov 26 2025 - 06:43:24 EST
On 26/11/2025 10:40, Kiryl Shutsemau wrote:
> On Wed, Nov 26, 2025 at 07:20:51AM +0000, Usama Arif wrote:
>> @@ -1126,8 +1126,11 @@ int __init_memblock memblock_reserved_mark_noinit(phys_addr_t base, phys_addr_t
>> */
>> __init int memblock_mark_kho_scratch(phys_addr_t base, phys_addr_t size)
>> {
>> - return memblock_setclr_flag(&memblock.memory, base, size, 1,
>> - MEMBLOCK_KHO_SCRATCH);
>> + if (IS_ENABLED(CONFIG_MEMBLOCK_KHO_SCRATCH) && is_kho_boot())
>
> It makes me wounder why CONFIG_MEMBLOCK_KHO_SCRATCH exists? It seems to
> be a proxy for CONFIG_KEXEC_HANDOVER which is the only option that
> selects it and does it always.
>
> Can we make s/CONFIG_MEMBLOCK_KHO_SCRATCH/CONFIG_KEXEC_HANDOVER/ and
> remove IS_ENABLED() from this check? Just is_kho_boot() is enough.
>
>
Thats a very good point! I imagine it might have been for maybe debug purposes?
Looking at the code, CONFIG_MEMBLOCK_KHO_SCRATCH shouldnt be needed. I guess
this might be a good time to clean it up. If Mike is happy for it to be replaced
with CONFIG_KEXEC_HANDOVER (and removed where needed), happy to send that
for review instead of this.
Thanks
Usama