From: Martin Pieuchot Subject: Use uao_dropswap() To: tech@openbsd.org Date: Sat, 6 Apr 2024 13:24:06 +0200 Call uao_dropswap() instead of rerolling it. ok? 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);