CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2021/10/12 01:38:22
Modified files:
sys/uvm : uvm_fault.c uvm_pager.h uvm_vnode.c
Log message:
Fix the deadlock between uvn_io() and uvn_flush() by restarting the fault.
Do not allow a faulting thread to sleep on a contended vnode lock to prevent
lock ordering issues with upcoming per-uobj lock.
Also reduce the sleep value for VM_PAGER_AGAIN from 1sec to 5nsec to not add
visible slowdown when starting a multi-threaded application with threads that
fault on the same vnode (chromium, firefox, etc).
Tested by anton@, tb@, robert@ and gnezdo@
ok anton@, tb@
Reported-by: [email protected]