For debugging, or as a workaround against software issues, it would be useful to have a tuneable that tells the kernel to treat all physical memory as belonging to the same NUMA domain.
If this makes it the same as if NUMA was not compiled into the kernel I would be good with that, but some how I think that other code paths would still be running that would be different than an none NUMA kernel. Ideally what is wanted is a knob that makes it as if NUMA was not even compile into the kernel.
(In reply to Rodney W. Grimes from comment #1) I don't think that's really feasible, for the same reason that setting kern.smp.disabled=1 isn't the same as removing "options SMP" from the kernel configuration.
https://reviews.freebsd.org/D17439
A commit references this bug: Author: markj Date: Mon Oct 22 20:13:53 UTC 2018 New revision: 339616 URL: https://svnweb.freebsd.org/changeset/base/339616 Log: Make it possible to disable NUMA support with a tunable. This provides a chicken switch for anyone negatively impacted by enabling NUMA in the amd64 GENERIC kernel configuration. With NUMA disabled at boot-time, information about the NUMA topology is not exposed to the rest of the kernel, and all of physical memory is viewed as coming from a single domain. This method still has some performance overhead relative to disabling NUMA support at compile time. PR: 231460 Reviewed by: alc, gallatin, kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D17439 Changes: head/share/man/man4/numa.4 head/sys/arm64/arm64/mp_machdep.c head/sys/kern/kern_cpuset.c head/sys/vm/vm_phys.c head/sys/x86/acpica/srat.c
Re-open, I still have to merge to stable/12.
A commit references this bug: Author: markj Date: Thu Nov 1 16:50:20 UTC 2018 New revision: 340007 URL: https://svnweb.freebsd.org/changeset/base/340007 Log: MFC r339616: Make it possible to disable NUMA support with a tunable. PR: 231460 Approved by: re (gjb) Changes: _U stable/12/ stable/12/share/man/man4/numa.4 stable/12/sys/arm64/arm64/mp_machdep.c stable/12/sys/kern/kern_cpuset.c stable/12/sys/vm/vm_phys.c stable/12/sys/x86/acpica/srat.c