Module Name: src Committed By: ad Date: Wed Jan 1 22:01:14 UTC 2020
Modified Files: src/sys/uvm: uvm_amap.c uvm_amap.h Log Message: - Start trying to reduce the high cache miss rate observed around vm_amap. On _LP64, pad struct vm_amap to 128 bytes and use the additional space to hold the arrays for tiny amaps which are common. Carefully size the array allocations to avoid false sharing, and for smaller amaps try to share allocated cache lines. - Eliminate most contention due to amap_list: maintain the list in the pool cache constructor / destructor like we do for struct file. Cache the mutexes we allocate here. - Don't do PR_WAITOK mutex allocations when NOWAIT has been specified. To generate a diff of this commit: cvs rdiff -u -r1.112 -r1.113 src/sys/uvm/uvm_amap.c cvs rdiff -u -r1.37 -r1.38 src/sys/uvm/uvm_amap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.