Index | Thread | Search

From:
Martin Pieuchot <mpi@grenadille.net>
Subject:
Double pmap_clear_reference()
To:
tech@openbsd.org
Date:
Mon, 23 Dec 2024 10:28:57 +0100

Download raw body.

Thread
uvm_pagedeactivate() already calls pmap_clear_reference() when a page is
placed on the inactive queue.  Do not call it twice.

ok?

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();