From: Mark Kettenis Subject: Re: Use uao_dropswap() To: Martin Pieuchot Cc: tech@openbsd.org Date: Sat, 06 Apr 2024 15:27:36 +0200 > Date: Sat, 6 Apr 2024 13:24:06 +0200 > From: Martin Pieuchot > > Call uao_dropswap() instead of rerolling it. ok? ok kettenis@ > Index: uvm/uvm_aobj.c > =================================================================== > RCS file: /cvs/src/sys/uvm/uvm_aobj.c,v > diff -u -p -r1.108 uvm_aobj.c > --- uvm/uvm_aobj.c 13 May 2023 09:24:59 -0000 1.108 > +++ uvm/uvm_aobj.c 6 Apr 2024 11:21:15 -0000 > @@ -1398,7 +1398,7 @@ uao_pagein_page(struct uvm_aobj *aobj, i > { > struct uvm_object *uobj = &aobj->u_obj; > struct vm_page *pg; > - int rv, slot, npages; > + int rv, npages; > > pg = NULL; > npages = 1; > @@ -1429,8 +1429,7 @@ uao_pagein_page(struct uvm_aobj *aobj, i > * ok, we've got the page now. > * mark it as dirty, clear its swslot and un-busy it. > */ > - slot = uao_set_swslot(&aobj->u_obj, pageidx, 0); > - uvm_swap_free(slot, 1); > + uao_dropswap(&aobj->u_obj, pageidx); > atomic_clearbits_int(&pg->pg_flags, PG_BUSY|PG_CLEAN|PG_FAKE); > UVM_PAGE_OWN(pg, NULL); > > >