freebsd-dev/sys/x86/x86
Mark Johnston 9978bd996b Add malloc_domainset(9) and _domainset variants to other allocator KPIs.
Remove malloc_domain(9) and most other _domain KPIs added in r327900.
The new functions allow the caller to specify a general NUMA domain
selection policy, rather than specifically requesting an allocation from
a specific domain.  The latter policy tends to interact poorly with
M_WAITOK, resulting in situations where a caller is blocked indefinitely
because the specified domain is depleted.  Most existing consumers of
the _domain KPIs are converted to instead use a DOMAINSET_PREF() policy,
in which we fall back to other domains to satisfy the allocation
request.

This change also defines a set of DOMAINSET_FIXED() policies, which
only permit allocations from the specified domain.

Discussed with:	gallatin, jeff
Reported and tested by:	pho (previous version)
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D17418
2018-10-30 18:26:34 +00:00
..
autoconf.c ANSIfy sys/x86 2018-03-17 01:40:09 +00:00
bus_machdep.c
busdma_bounce.c Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
busdma_machdep.c Add support for NUMA domains to bus dma tags. This causes all memory 2018-01-12 23:34:16 +00:00
cpu_machdep.c On amd64, enable workarounds for several Ryzen erratas as described in 2018-07-27 15:31:20 +00:00
delay.c Use the TSLOG framework to record entry/exit timestamps for DELAY and 2017-12-31 09:24:41 +00:00
dump_machdep.c sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
fdt_machdep.c sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
identcpu.c Print L1D FLUSH feature. 2018-08-18 12:17:05 +00:00
intr_machdep.c Fix build of x86 UP kernels after dynamic IRQ changes in r338360. 2018-08-31 18:26:37 +00:00
io_apic.c Dynamically allocate IRQ ranges on x86. 2018-08-28 21:09:19 +00:00
legacy.c Remove EISA bus support for add-in cards. Remove related kernel and 2017-02-16 21:57:35 +00:00
local_apic.c lapic: skip setting intrcnt if lapic is not present 2018-09-13 07:13:13 +00:00
mca.c Ensure that cmci_monitor() is not executed in parallel, since shared 2018-04-24 20:29:40 +00:00
mp_watchdog.c Merge i386 and amd64 variants of mp_watchdog.c into x86/, there is no 2016-08-03 13:51:53 +00:00
mp_x86.c Unify amd64 and i386 vmspace0 pmap activation. 2018-08-25 15:21:28 +00:00
mptable_pci.c sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
mptable.c Fix the MPTable probe code after the 4:4 changes on i386. 2018-08-19 17:36:50 +00:00
msi.c msi: remove the check that interrupt sources have been added 2018-09-13 07:05:51 +00:00
nexus.c Dynamically allocate IRQ ranges on x86. 2018-08-28 21:09:19 +00:00
pvclock.c
stack_machdep.c Verify that each frame pointer lies within the thread's kstack. 2018-08-03 02:51:37 +00:00
tsc.c Do not access ISA timer if BIOS reports that there is no legacy 2018-06-25 11:24:26 +00:00
ucode.c Provide string functions for use before ifuncs get resolved. 2018-10-11 23:28:04 +00:00
x86_mem.c Do not use ULL suffix. Cast to uint64_t where the suffix is needed, 2017-02-25 10:32:49 +00:00