Re: [PATCH] mm/slab: Fix undefined init_cache_node_node() for NUMA and !SMP

From: Dave Hansen
Date: Wed Mar 22 2023 - 12:49:54 EST


On 3/22/23 09:46, Matthew Wilcox wrote:
> On Wed, Mar 22, 2023 at 09:16:55AM -0700, Dave Hansen wrote:
>> On 3/21/23 09:40, Matthew Wilcox wrote:
>>> On Tue, Mar 21, 2023 at 09:30:59AM +0100, Geert Uytterhoeven wrote:
>>>> -#if (defined(CONFIG_NUMA) && defined(CONFIG_MEMORY_HOTPLUG)) || defined(CONFIG_SMP)
>>>> +#if defined(CONFIG_NUMA) || defined(CONFIG_SMP)
>>> I'm amused by the thought of CONFIG_NUMA without CONFIG_SMP.
>>> Is it possible to have one node with memory and a single CPU, then
>>> another node with memory and no CPU?
>> It's _possible_ for sure, just unlikely. The most likely place these
>> days is probably a teensy tiny VM that just happens to have some
>> performance-differentiated memory exposed to it for some reason. Maybe
>> it's got a slice of slow PMEM or fast High-Bandwidth memory for whatever
>> reason.
> Right, you can construct such a system, but do we support the CONFIG
> options of NUMA enabled and SMP disabled? It seems so niche that we
> shouldn't be spending time testing that combination.

On x86 we don't:

> config NUMA
> bool "NUMA Memory Allocation and Scheduler Support"
> depends on SMP
> depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)

... which I think is fine. I totally agree that NUMA without SMP is too
niche to care about. Heck, !SMP is almost too niche to care about these
days.