]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add malloc_domainset(9) and _domainset variants to other allocator KPIs.
authormarkj <markj@FreeBSD.org>
Tue, 30 Oct 2018 18:26:34 +0000 (18:26 +0000)
committermarkj <markj@FreeBSD.org>
Tue, 30 Oct 2018 18:26:34 +0000 (18:26 +0000)
commitf931b753dd4c23f434c34bdfe082b7f31a3cd085
tree47954eac39c356ecb0ade9e84a293f66f084ca1b
parentaf61bb735208b56c188d022ab36272a43323d789
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
20 files changed:
ObsoleteFiles.inc
share/man/man9/Makefile
share/man/man9/contigmalloc.9
share/man/man9/domainset.9
share/man/man9/malloc.9
sys/dev/hwpmc/hwpmc_logging.c
sys/dev/hwpmc/hwpmc_mod.c
sys/i386/i386/pmap.c
sys/kern/kern_cpuset.c
sys/kern/kern_malloc.c
sys/kern/kern_mbuf.c
sys/kern/kern_pmc.c
sys/kern/subr_busdma_bufalloc.c
sys/sys/domainset.h
sys/sys/malloc.h
sys/vm/uma_core.c
sys/vm/vm_extern.h
sys/vm/vm_kern.c
sys/x86/iommu/busdma_dmar.c
sys/x86/x86/busdma_bounce.c