Index | Thread | Search

From:
Peter Hessler <phessler@theapt.org>
Subject:
Re: Plan to enable parallel faults handling
To:
tech@openbsd.org
Date:
Wed, 12 Nov 2025 17:02:15 +0100

Download raw body.

Thread
On 2025 Nov 12 (Wed) at 17:00:14 +0100 (+0100), Jeremie Courreges-Anglas wrote:
:On Wed, Nov 12, 2025 at 04:23:39PM +0100, Claudio Jeker wrote:
:> On Wed, Nov 12, 2025 at 02:40:15PM +0000, Martin Pieuchot wrote:
:> > I'd like to move forward with parallel fault handling.  This has been
:> > properly tested on amd64, i386 and arm64.  sparc64 pmap needs some love
:> > and enabling this will expose the existing bugs.
:> > 
:> > My plan is to enable parallel faults on amd64 and arm64 as a first step
:> > then i386 because it is where swapping is properly exercised. 
:> > 
:> > Does that sound sane, do you agree with this approach?
:> 
:> I'm fine with this approach if we don't leave it like this forever. I'm
:> not sure if it is only the sparc64 pmap that needs love.
:
:Indeed.  After that diff goes in I'd like to test riscv64 again and
:add it to the list.  But for the rest of the MP architectures we'll
:need to prod people to test and report.
:

Yea, I'm happy with a restricted list for now that expands (quickly ;) )
over time.


:> In any case this is the right time to push forward. OK claudio@
:
:I'd also be happy to see this make progress.  ok jca@
:

OK


:> > Index: uvm/uvm_fault.c
:> > ===================================================================
:> > RCS file: /cvs/src/sys/uvm/uvm_fault.c,v
:> > diff -u -p -r1.171 uvm_fault.c
:> > --- uvm/uvm_fault.c	11 Sep 2025 17:04:35 -0000	1.171
:> > +++ uvm/uvm_fault.c	12 Nov 2025 14:09:52 -0000
:> > @@ -618,7 +618,7 @@ 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
:> > +#if defined(__amd64__) || defined(__arm64__)
:> >  	flt.upper_lock_type = RW_READ;
:> >  	flt.lower_lock_type = RW_READ;	/* shared lock for now */
:> >  #else
:> > 
:> > 
:> 
:> -- 
:> :wq Claudio
:> 
:
:-- 
:jca
: