Download raw body.
Double pmap_clear_reference()
> Date: Mon, 23 Dec 2024 10:28:57 +0100 > From: Martin Pieuchot <mpi@grenadille.net> > > uvm_pagedeactivate() already calls pmap_clear_reference() when a page is > placed on the inactive queue. Do not call it twice. > > ok? That would save a bit of unnecessary pmap locking... 99% sure this is indeed correct. ok kettenis@ > Index: uvm/uvm_anon.c > =================================================================== > RCS file: /cvs/src/sys/uvm/uvm_anon.c,v > diff -u -p -r1.59 uvm_anon.c > --- uvm/uvm_anon.c 26 Nov 2024 10:10:28 -0000 1.59 > +++ uvm/uvm_anon.c 23 Dec 2024 09:26:18 -0000 > @@ -202,7 +202,6 @@ uvm_anon_pagein(struct vm_amap *amap, st > /* > * Deactivate the page (to put it on a page queue). > */ > - pmap_clear_reference(pg); > pmap_page_protect(pg, PROT_NONE); > uvm_lock_pageq(); > uvm_pagedeactivate(pg); > Index: uvm/uvm_aobj.c > =================================================================== > RCS file: /cvs/src/sys/uvm/uvm_aobj.c,v > diff -u -p -r1.113 uvm_aobj.c > --- uvm/uvm_aobj.c 20 Dec 2024 18:49:37 -0000 1.113 > +++ uvm/uvm_aobj.c 23 Dec 2024 09:26:22 -0000 > @@ -1411,7 +1411,6 @@ uao_pagein_page(struct uvm_aobj *aobj, i > /* > * deactivate the page (to put it on a page queue). > */ > - pmap_clear_reference(pg); > uvm_lock_pageq(); > uvm_pagedeactivate(pg); > uvm_unlock_pageq(); > > >
Double pmap_clear_reference()