diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2018-01-12 22:48:23 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2018-01-12 22:48:23 +0000 |
commit | 3f289c3fcf39b200550e2702068014cdd801d4da (patch) | |
tree | 9105f2f717d4e6d5f5dc06d92b4b158e3c831d9e /sys/vm/vm_phys.c | |
parent | fe8be58826d91f5b80b50bac161b727bd4ea9846 (diff) | |
download | src-3f289c3fcf39b200550e2702068014cdd801d4da.tar.gz src-3f289c3fcf39b200550e2702068014cdd801d4da.zip |
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows
userspace to control NUMA policy administratively and programmatically.
Implement domainset based iterators in the page layer.
Remove the now legacy numa_* syscalls.
Cleanup some header polution created by having seq.h in proc.h.
Reviewed by: markj, kib
Discussed with: alc
Tested by: pho
Sponsored by: Netflix, Dell/EMC Isilon
Differential Revision: https://reviews.freebsd.org/D13403
Notes
Notes:
svn path=/head/; revision=327895
Diffstat (limited to 'sys/vm/vm_phys.c')
-rw-r--r-- | sys/vm/vm_phys.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c index 6c796900fc18..26cfd7a77ae2 100644 --- a/sys/vm/vm_phys.c +++ b/sys/vm/vm_phys.c @@ -68,8 +68,6 @@ __FBSDID("$FreeBSD$"); #include <vm/vm_page.h> #include <vm/vm_phys.h> -#include <vm/vm_domain.h> - _Static_assert(sizeof(long) * NBBY >= VM_PHYSSEG_MAX, "Too many physsegs."); @@ -973,7 +971,7 @@ vm_phys_free_contig(vm_page_t m, u_long npages) * be a power of two. */ vm_page_t -vm_phys_scan_contig(u_long npages, vm_paddr_t low, vm_paddr_t high, +vm_phys_scan_contig(int domain, u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, int options) { vm_paddr_t pa_end; @@ -988,6 +986,8 @@ vm_phys_scan_contig(u_long npages, vm_paddr_t low, vm_paddr_t high, return (NULL); for (segind = 0; segind < vm_phys_nsegs; segind++) { seg = &vm_phys_segs[segind]; + if (seg->domain != domain) + continue; if (seg->start >= high) break; if (low >= seg->end) |