Module Name: src Committed By: rmind Date: Wed Mar 17 06:03:20 UTC 2010
Modified Files: src/sys/miscfs/genfs [rmind-uvmplock]: genfs_io.c src/sys/uvm [rmind-uvmplock]: uvm_amap.c uvm_amap.h uvm_anon.c uvm_anon.h uvm_bio.c uvm_device.c uvm_fault.c uvm_fault_i.h uvm_km.c uvm_loan.c uvm_map.c uvm_map.h uvm_page.c uvm_page.h uvm_pager.c uvm_pdaemon.c uvm_pdpolicy_clock.c uvm_vnode.c Log Message: Reorganise UVM locking to protect P->V state and serialise pmap(9) operations on the same page(s) by always locking their owner. Hence lock order: "vmpage"-lock -> pmap-lock. Patch, proposed on tech-kern@, from Andrew Doran. To generate a diff of this commit: cvs rdiff -u -r1.36.4.1 -r1.36.4.2 src/sys/miscfs/genfs/genfs_io.c cvs rdiff -u -r1.88 -r1.88.4.1 src/sys/uvm/uvm_amap.c cvs rdiff -u -r1.34 -r1.34.16.1 src/sys/uvm/uvm_amap.h cvs rdiff -u -r1.51.32.1 -r1.51.32.2 src/sys/uvm/uvm_anon.c cvs rdiff -u -r1.26 -r1.26.4.1 src/sys/uvm/uvm_anon.h cvs rdiff -u -r1.68.4.1 -r1.68.4.2 src/sys/uvm/uvm_bio.c cvs rdiff -u -r1.57.4.1 -r1.57.4.2 src/sys/uvm/uvm_device.c cvs rdiff -u -r1.173.2.1 -r1.173.2.2 src/sys/uvm/uvm_fault.c cvs rdiff -u -r1.25.4.1 -r1.25.4.2 src/sys/uvm/uvm_fault_i.h cvs rdiff -u -r1.105.2.1 -r1.105.2.2 src/sys/uvm/uvm_km.c cvs rdiff -u -r1.77.4.1 -r1.77.4.2 src/sys/uvm/uvm_loan.c cvs rdiff -u -r1.290.2.1 -r1.290.2.2 src/sys/uvm/uvm_map.c cvs rdiff -u -r1.64 -r1.64.4.1 src/sys/uvm/uvm_map.h cvs rdiff -u -r1.154.2.1 -r1.154.2.2 src/sys/uvm/uvm_page.c cvs rdiff -u -r1.59 -r1.59.4.1 src/sys/uvm/uvm_page.h cvs rdiff -u -r1.97.4.1 -r1.97.4.2 src/sys/uvm/uvm_pager.c cvs rdiff -u -r1.100.4.1 -r1.100.4.2 src/sys/uvm/uvm_pdaemon.c cvs rdiff -u -r1.12 -r1.12.20.1 src/sys/uvm/uvm_pdpolicy_clock.c cvs rdiff -u -r1.93.4.1 -r1.93.4.2 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.