x86/NUMA: Reason for ignoring too small NUMA nodes?

From: Andre Przywara
Date: Mon Nov 09 2009 - 07:28:03 EST


Hi Andi,

while experimenting with a system with a memory-less NUMA node I stumbled upon code in the Linux kernel which ignores nodes containing less than a certain amount of RAM, obviously to fix systems with a buggy BIOS.
Can you elaborate on this? What kind of incorrect entry have you seen?
To correctly map the memory less node I did a patch to accept at least nodes with exactly zero bytes of memory (read: no SRAT memory entry), was this special condition also present in the buggy machines?
Another comments reads:
/*
* Don't confuse VM with a node that doesn't have the
* minimum amount of memory:
*/
Is that still a valid statement? How can the VM get confused by a node with already exhausted memory resources?
(found in arch/x86/mm/{srat,numa}_64.c)

I'd be grateful for some hints!

Thanks,
Andre.

--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448 3567 12
----to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd; Thomas M. McCoy; Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/