[PATCH v2] kho: skip memoryless NUMA nodes when reserving scratch areas

Andrew Morton akpm at linux-foundation.org
Thu Jan 22 15:21:12 PST 2026


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").




More information about the kexec mailing list