freebsd-dev/sys/x86/acpica
Andrew Gallatin 30c5525b3c Allow empty NUMA memory domains to support Threadripper2
The AMD Threadripper 2990WX is basically a slightly crippled Epyc.
Rather than having 4 memory controllers, one per NUMA domain, it has
only 2  memory controllers enabled. This means that only 2 of the
4 NUMA domains can be populated with physical memory, and the
others are empty.

Add support to FreeBSD for empty NUMA domains by:

- creating empty memory domains when parsing the SRAT table,
    rather than failing to parse the table
- not running the pageout deamon threads in empty domains
- adding defensive code to UMA to avoid allocating from empty domains
- adding defensive code to cpuset to avoid binding to an empty domain
    Thanks to Jeff for suggesting this strategy.

Reviewed by:	alc, markj
Approved by:	re (gjb@)
Differential Revision:	https://reviews.freebsd.org/D1683
2018-10-01 14:14:21 +00:00
..
acpi_apm.c sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
acpi_wakeup.c Implement kernel support for early loading of Intel microcode updates. 2018-08-13 17:13:09 +00:00
madt.c Dynamically allocate IRQ ranges on x86. 2018-08-28 21:09:19 +00:00
OsdEnvironment.c sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
srat.c Allow empty NUMA memory domains to support Threadripper2 2018-10-01 14:14:21 +00:00