Module Name:    src
Committed By:   ad
Date:           Sun Mar  8 15:01:50 UTC 2020

Modified Files:
        src/sys/uvm: uvm_pdpolicy_clock.c

Log Message:
Don't zap the non-pdpolicy bits in pg->pqflags.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/uvm/uvm_pdpolicy_clock.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/uvm/uvm_pdpolicy_clock.c
diff -u src/sys/uvm/uvm_pdpolicy_clock.c:1.33 src/sys/uvm/uvm_pdpolicy_clock.c:1.34
--- src/sys/uvm/uvm_pdpolicy_clock.c:1.33	Sun Feb 23 15:46:43 2020
+++ src/sys/uvm/uvm_pdpolicy_clock.c	Sun Mar  8 15:01:50 2020
@@ -1,8 +1,8 @@
-/*	$NetBSD: uvm_pdpolicy_clock.c,v 1.33 2020/02/23 15:46:43 ad Exp $	*/
+/*	$NetBSD: uvm_pdpolicy_clock.c,v 1.34 2020/03/08 15:01:50 ad Exp $	*/
 /*	NetBSD: uvm_pdaemon.c,v 1.72 2006/01/05 10:47:33 yamt Exp $	*/
 
 /*-
- * Copyright (c) 2019 The NetBSD Foundation, Inc.
+ * Copyright (c) 2019, 2020 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * This code is derived from software contributed to The NetBSD Foundation
@@ -98,7 +98,7 @@
 #else /* defined(PDSIM) */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_pdpolicy_clock.c,v 1.33 2020/02/23 15:46:43 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_pdpolicy_clock.c,v 1.34 2020/03/08 15:01:50 ad Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -455,7 +455,8 @@ uvmpdpol_pagedeactivate_locked(struct vm
 		TAILQ_INSERT_TAIL(&pdpol_state.s_inactiveq, pg, pdqueue);
 		pdpol_state.s_inactive++;
 	}
-	pg->pqflags = (pg->pqflags & PQ_INTENT_QUEUED) | PQ_INACTIVE;
+	pg->pqflags &= ~(PQ_ACTIVE | PQ_INTENT_SET);
+	pg->pqflags |= PQ_INACTIVE;
 }
 
 void
@@ -486,7 +487,8 @@ uvmpdpol_pageactivate_locked(struct vm_p
 	uvmpdpol_pagedequeue_locked(pg);
 	TAILQ_INSERT_TAIL(&pdpol_state.s_activeq, pg, pdqueue);
 	pdpol_state.s_active++;
-	pg->pqflags = (pg->pqflags & PQ_INTENT_QUEUED) | PQ_ACTIVE;
+	pg->pqflags &= ~(PQ_INACTIVE | PQ_INTENT_SET);
+	pg->pqflags |= PQ_ACTIVE;
 }
 
 void
@@ -517,7 +519,7 @@ uvmpdpol_pagedequeue_locked(struct vm_pa
 		KASSERT(pdpol_state.s_inactive > 0);
 		pdpol_state.s_inactive--;
 	}
-	pg->pqflags &= PQ_INTENT_QUEUED;
+	pg->pqflags &= ~(PQ_ACTIVE | PQ_INACTIVE | PQ_INTENT_SET);
 }
 
 void

Reply via email to