Index | Thread | Search

From:
Martin Pieuchot <mpi@grenadille.net>
Subject:
Please test: parallel fault handling
To:
tech@openbsd.org
Cc:
naddy@openbsd.org, robert@openbsd.org, sthen@openbsd.org
Date:
Wed, 30 Apr 2025 11:39:15 +0200

Download raw body.

Thread
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: */