[PATCH 0/2] Relax restrictions on setting CONFIG_NUMA on x86

From: Mel Gorman
Date: Fri Jan 18 2008 - 10:35:59 EST


A fix[1] was merged to the x86.git tree that allowed NUMA kernels to boot
on normal x86 machines (and not just NUMA-Q, Summit etc.). I took a look
at the restrictions on setting NUMA on x86 to see if they could be lifted.

The following two patches remove the restrictions on pagetable layout and
architecture type when setting NUMA on x86. This is aimed at improving
the testing coverage of NUMA code paths by allowing it to be set in more
situations. The dependency on CONFIG_ACPI is left due to possible SRAT
parsing (although this could also be lifted) and on EXPERIMENTAL as the
testing coverage for NUMA on x86 is so weak. The one potential gotcha is
that a definition of NR_NODE_MEMBLKS is moved to an arch-specific file. From
what I can see, this value was expected to be defined on a per-arch basis
and the definition in include/linux/acpi.h was an anomaly.

The patches in combination with the boot-numa-x86 fix have been boot-tested
on a bog-standard laptop with 512MB RAM, QEMU-i386 with 1324MB in a variety
of different configuarations and a NUMA-Q with its standard .config.

[1] For others watching, this fix was considered controversial as a
potentially better solution existed as discussed in
http://lkml.org/lkml/2007/8/24/220. However, this better alternative was
never investigated properly and booting NUMA remained broken. The merged
fix is a variation and while it does waste memory, it is considered better
than crashing. Wider testing coverage may help motivate fixing this paths.
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/