UMA: - r340405: UMA bucket cache working set size estimator - Used to make uma_reclaim() less aggressive unless there is a severe shortage - See also r351673 - r343026: Infrastructural changes - Many of these changes were rewritten by Jeff in 2019/2020 - r343030: Use UMA to allocate paging bufs - r350659: Add a cross-domain free bucket, add UMA_FIRSTTOUCH vm_page: - r349840: Add a per-CPU cache for VM_FREEPOOL_DIRECT - See also PG_PCPU_CACHE, which is used to reduce fragmentation caused by the caches. - r349846: - Merge wire_count and hold_count - r351198: - Allocate vm_page_array from domain-local memory (modulo 2MB) - See also r351742 - r352110 - Generalize wire_count into a refcount, make it atomic - r353535, r353537, 353538, 353539, r353540 - Make the page busy lock a standalone lock that does not require the object lock to interlock - r356155: Implement page queue state updates using cmpset loops instead of synchronizing using the page lock vm_object: - r351241: Make object PIP counter atomic, instead of synchronizing on the object lock - r355122: Use atomics for object reference counter