Contributed by rueda on from the fault me twice dept.
In a
post
to tech@
,
Martin Pieuchot (mpi@
)
has requested testing of a diff (against -current) to enable
running the upper part of the fault handler in parallel
:
Hello, Diff below enables running the fault handler in parallel. Please test an report back, with dmesg, if this increases or decreases the perfs of your usual setup. Thanks for the help, Martin
Index: uvm/uvm_fault.c =================================================================== RCS file: /cvs/src/sys/uvm/uvm_fault.c,v diff -u -p -r1.168 uvm_fault.c --- uvm/uvm_fault.c 29 Apr 2025 09:05:54 -0000 1.168 +++ uvm/uvm_fault.c 29 Apr 2025 09:06:11 -0000 @@ -662,13 +662,8 @@ uvm_fault(vm_map_t orig_map, vaddr_t vad flt.access_type = access_type; flt.narrow = FALSE; /* assume normal fault for now */ flt.wired = FALSE; /* assume non-wired fault for now */ -#if notyet flt.upper_lock_type = RW_READ; flt.lower_lock_type = RW_READ; /* shared lock for now */ -#else - flt.upper_lock_type = RW_WRITE; - flt.lower_lock_type = RW_WRITE; /* exclusive lock for now */ -#endif error = ERESTART; while (error == ERESTART) { /* ReFault: */
The CFT follows recent commits which added (but did not enable) the necessary code.
As always, your testing and feedback will be much appreciated.