[PATCH v2] kho: skip memoryless NUMA nodes when reserving scratch areas
Mike Rapoport
rppt at kernel.org
Fri Jan 23 00:53:42 PST 2026
On Thu, Jan 22, 2026 at 03:21:12PM -0800, Andrew Morton wrote:
> On Tue, 20 Jan 2026 17:59:11 +0000 Evangelos Petrongonas <epetron at amazon.de> wrote:
>
> > kho_reserve_scratch() iterates over all online NUMA nodes to allocate
> > per-node scratch memory. On systems with memoryless NUMA nodes (nodes
> > that have CPUs but no memory), memblock_alloc_range_nid() fails because
> > there is no memory available on that node. This causes KHO initialization
> > to fail and kho_enable to be set to false.
> >
> > Some ARM64 systems have NUMA topologies where certain nodes contain only
> > CPUs without any associated memory. These configurations are valid and
> > should not prevent KHO from functioning.
> >
> > Fix this by only counting nodes that have memory (N_MEMORY state) and
> > skip memoryless nodes in the per-node scratch allocation loop.
> >
>
> So kho is unusable on such machines.
>
> Should we backport this? I'm thinking
>
> Fixes: 3dc92c311498 ("kexec: add Kexec HandOver (KHO) generation helpers").
It's only for v6.18, but sure, why not.
--
Sincerely yours,
Mike.
More information about the kexec
mailing list