HomeFreeBSD

vm_pageout: Scale worker threads with CPUs

Description

vm_pageout: Scale worker threads with CPUs

Autoscale vm_pageout worker threads from r364129 with CPU count. The
default is arbitrarily chosen to be 16 CPUs per worker thread, but can
be adjusted with the vm.pageout_cpus_per_thread tunable.

There will never be less than 1 thread per populated NUMA domain, and
the previous arbitrary upper limit (at most ncpus/2 threads per NUMA
domain) is preserved.

Care is taken to gracefully handle asymmetric NUMA nodes, such as empty
node systems (e.g., AMD 2990WX) and systems with nodes of varying size
(e.g., some larger >20 core Intel Haswell/Broadwell Xeon).

Reviewed by: kib, markj
Sponsored by: Isilon
Differential Revision: https://reviews.freebsd.org/D26152

Details

Provenance
cemAuthored on
Reviewer
kib
Differential Revision
D26152: vm_pageout: Scale worker threads with CPUs
Parents
rS364785: bsdinstall: Update loader.conf for new OpenZFS deps
Branches
Unknown
Tags
Unknown