Module Name: src Committed By: ad Date: Sat Mar 14 20:23:51 UTC 2020
Modified Files: src/sys/kern: kern_synch.c src/sys/miscfs/genfs: genfs_io.c src/sys/rump/librump/rumpkern: ltsleep.c vm.c src/sys/sys: proc.h src/sys/ufs/lfs: lfs_pages.c lfs_vfsops.c src/sys/uvm: uvm.h uvm_amap.c uvm_anon.c uvm_aobj.c uvm_bio.c uvm_fault.c uvm_km.c uvm_loan.c uvm_page.c uvm_page.h uvm_vnode.c Log Message: Make page waits (WANTED vs BUSY) interlocked by pg->interlock. Gets RW locks out of the equation for sleep/wakeup, and allows observing+waiting for busy pages when holding only a read lock. Proposed on tech-kern. To generate a diff of this commit: cvs rdiff -u -r1.343 -r1.344 src/sys/kern/kern_synch.c cvs rdiff -u -r1.91 -r1.92 src/sys/miscfs/genfs/genfs_io.c cvs rdiff -u -r1.35 -r1.36 src/sys/rump/librump/rumpkern/ltsleep.c cvs rdiff -u -r1.185 -r1.186 src/sys/rump/librump/rumpkern/vm.c cvs rdiff -u -r1.359 -r1.360 src/sys/sys/proc.h cvs rdiff -u -r1.22 -r1.23 src/sys/ufs/lfs/lfs_pages.c cvs rdiff -u -r1.375 -r1.376 src/sys/ufs/lfs/lfs_vfsops.c cvs rdiff -u -r1.75 -r1.76 src/sys/uvm/uvm.h cvs rdiff -u -r1.117 -r1.118 src/sys/uvm/uvm_amap.c cvs rdiff -u -r1.74 -r1.75 src/sys/uvm/uvm_anon.c cvs rdiff -u -r1.136 -r1.137 src/sys/uvm/uvm_aobj.c cvs rdiff -u -r1.104 -r1.105 src/sys/uvm/uvm_bio.c cvs rdiff -u -r1.217 -r1.218 src/sys/uvm/uvm_fault.c cvs rdiff -u -r1.156 -r1.157 src/sys/uvm/uvm_km.c cvs rdiff -u -r1.96 -r1.97 src/sys/uvm/uvm_loan.c cvs rdiff -u -r1.230 -r1.231 src/sys/uvm/uvm_page.c cvs rdiff -u -r1.99 -r1.100 src/sys/uvm/uvm_page.h cvs rdiff -u -r1.108 -r1.109 src/sys/uvm/uvm_vnode.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.