Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys



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.




Home | Main Index | Thread Index | Old Index