From: Theo Buehler Subject: Re: Use uvm_pagewait() To: tech@openbsd.org Date: Mon, 2 Dec 2024 14:24:23 +0100 On Mon, Dec 02, 2024 at 01:33:55PM +0100, Martin Pieuchot wrote: > Use uvm_pagewait() instead of re-rolling it. This helps grepping for > places that set the PG_WANTED flag. > > ok? ok tb > > Index: uvm/uvm_fault.c > =================================================================== > RCS file: /cvs/src/sys/uvm/uvm_fault.c,v > diff -u -p -r1.148 uvm_fault.c > --- uvm/uvm_fault.c 29 Nov 2024 06:44:57 -0000 1.148 > +++ uvm/uvm_fault.c 2 Dec 2024 12:14:54 -0000 > @@ -316,7 +316,6 @@ uvmfault_anonget(struct uvm_faultinfo *u > */ > if ((pg->pg_flags & (PG_BUSY|PG_RELEASED)) == 0) > return 0; > - atomic_setbits_int(&pg->pg_flags, PG_WANTED); > counters_inc(uvmexp_counters, flt_pgwait); > > /* > @@ -326,13 +325,12 @@ uvmfault_anonget(struct uvm_faultinfo *u > if (pg->uobject) { > /* Owner of page is UVM object. */ > uvmfault_unlockall(ufi, amap, NULL); > - rwsleep_nsec(pg, pg->uobject->vmobjlock, > - PVM | PNORELOCK, "anonget1", INFSLP); > + uvm_pagewait(pg, pg->uobject->vmobjlock, > + "anonget1"); > } else { > /* Owner of page is anon. */ > uvmfault_unlockall(ufi, NULL, NULL); > - rwsleep_nsec(pg, anon->an_lock, PVM | PNORELOCK, > - "anonget2", INFSLP); > + uvm_pagewait(pg, anon->an_lock, "anonget2"); > } > } else { > /* > >