svn commit: r331427 - user/markj/vm-playground/sys/vm
Mark Johnston
markj at FreeBSD.org
Fri Mar 23 14:59:31 UTC 2018
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));
More information about the svn-src-user
mailing list