Module Name: src Committed By: ad Date: Sun May 17 19:38:17 UTC 2020
Modified Files: src/sys/miscfs/genfs: genfs_io.c src/sys/nfs: nfs_bio.c src/sys/uvm: uvm_aobj.c uvm_fault.c uvm_loan.c uvm_page.h uvm_pager.h uvm_pdpolicy.h uvm_pdpolicy_clock.c uvm_pdpolicy_clockpro.c Log Message: Start trying to reduce cache misses on vm_page during fault processing. - Make PGO_LOCKED getpages imply PGO_NOBUSY and remove the latter. Mark pages busy only when there's actually I/O to do. - When doing COW on a uvm_object, don't mess with neighbouring pages. In all likelyhood they're already entered. - Don't mess with neighbouring VAs that have existing mappings as replacing those mappings with same can be quite costly. - Don't enqueue pages for neighbour faults unless not enqueued already, and don't activate centre pages unless uvmpdpol says its useful. Also: - Make PGO_LOCKED getpages on UAOs work more like vnodes: do gang lookup in the radix tree, and don't allocate new pages. - Fix many assertion failures around faults/loans with tmpfs. To generate a diff of this commit: cvs rdiff -u -r1.95 -r1.96 src/sys/miscfs/genfs/genfs_io.c cvs rdiff -u -r1.196 -r1.197 src/sys/nfs/nfs_bio.c cvs rdiff -u -r1.140 -r1.141 src/sys/uvm/uvm_aobj.c cvs rdiff -u -r1.226 -r1.227 src/sys/uvm/uvm_fault.c cvs rdiff -u -r1.100 -r1.101 src/sys/uvm/uvm_loan.c cvs rdiff -u -r1.102 -r1.103 src/sys/uvm/uvm_page.h cvs rdiff -u -r1.47 -r1.48 src/sys/uvm/uvm_pager.h cvs rdiff -u -r1.7 -r1.8 src/sys/uvm/uvm_pdpolicy.h cvs rdiff -u -r1.36 -r1.37 src/sys/uvm/uvm_pdpolicy_clock.c cvs rdiff -u -r1.25 -r1.26 src/sys/uvm/uvm_pdpolicy_clockpro.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.