Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Mar 2018 14:59:30 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r331427 - user/markj/vm-playground/sys/vm
Message-ID:  <201803231459.w2NExUUp051769@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Fri Mar 23 14:59:30 2018
New Revision: 331427
URL: https://svnweb.freebsd.org/changeset/base/331427

Log:
  Address a couple of FIXMEs.
  
  Note that PGA_DEQUEUE can only be set with the page lock held.

Modified:
  user/markj/vm-playground/sys/vm/vm_page.c

Modified: user/markj/vm-playground/sys/vm/vm_page.c
==============================================================================
--- user/markj/vm-playground/sys/vm/vm_page.c	Fri Mar 23 14:39:34 2018	(r331426)
+++ user/markj/vm-playground/sys/vm/vm_page.c	Fri Mar 23 14:59:30 2018	(r331427)
@@ -2549,8 +2549,8 @@ retry:
 				    vm_reserv_size(level)) - pa);
 #endif
 			} else if (object->memattr == VM_MEMATTR_DEFAULT &&
-			    /* XXX need to check PGA_DEQUEUE */
-			    m->queue != PQ_NONE && !vm_page_busied(m)) {
+			    m->queue != PQ_NONE &&
+			    (m->aflags & PGA_DEQUEUE) == 0 && !vm_page_busied(m)) {
 				/*
 				 * The page is allocated but eligible for
 				 * relocation.  Extend the current run by one
@@ -2701,8 +2701,9 @@ retry:
 				error = EINVAL;
 			else if (object->memattr != VM_MEMATTR_DEFAULT)
 				error = EINVAL;
-			else if (m->queue != PQ_NONE && !vm_page_busied(m)) {
-				/* XXX need to check PGA_DEQUEUE */
+			else if (m->queue != PQ_NONE &&
+			    (m->aflags & PGA_DEQUEUE) == 0 &&
+			    !vm_page_busied(m)) {
 				KASSERT(pmap_page_get_memattr(m) ==
 				    VM_MEMATTR_DEFAULT,
 				    ("page %p has an unexpected memattr", m));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201803231459.w2NExUUp051769>