[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aSfcAOiTzCba2LC0@kernel.org>
Date: Thu, 27 Nov 2025 07:05:04 +0200
From: Mike Rapoport <rppt@...nel.org>
To: Usama Arif <usamaarif642@...il.com>
Cc: Kiryl Shutsemau <kirill@...temov.name>,
Andrew Morton <akpm@...ux-foundation.org>, changyuanl@...gle.com,
graf@...zon.com, leitao@...ian.org, thevlad@...a.com,
pratyush@...nel.org, dave.hansen@...ux.intel.com,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
kernel-team@...a.com
Subject: Re: [PATCH] mm/memblock: only mark/clear KHO scratch memory when
needed
On Wed, Nov 26, 2025 at 11:43:21AM +0000, Usama Arif wrote:
>
> 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.
Yeah, let's kill CONFIG_MEMBLOCK_KHO_SCRATCH and use CONFIG_KEXEC_HANDOVER
where needed.
IS_ENABLED() is not needed in the check because with
CONFIG_MEMBLOCK_KHO_SCRATCH=n both mark_kho_scratch() and
clear_kho_scratch() are empty stubs, so it's enough to check is_kho_boot().
> Thanks
> Usama
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists