freebsd-dev/sys/x86
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
..
acpica Allow empty NUMA memory domains to support Threadripper2 2018-10-01 14:14:21 +00:00
bios sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
cpufreq cpufreq: Remove error-prone table terminators in favor of automatic sizing 2018-04-14 03:15:05 +00:00
include Update x86/ifunc.h. 2018-09-30 16:57:30 +00:00
iommu Convert x86 cache invalidation functions to ifuncs. 2018-09-19 19:35:02 +00:00
isa Fix a regression in r338360 when booting an x86 machine without APIC. 2018-09-17 17:18:54 +00:00
pci Add ISA PNP tables to ISA drivers. Fix a few incidental comments. 2018-01-29 00:22:30 +00:00
x86 Log a message after a successful boot-time microcode update. 2018-09-14 17:04:36 +00:00
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00