summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pageout.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-05-12 20:24:46 +0000
committerkib <kib@FreeBSD.org>2012-05-12 20:24:46 +0000
commitaf33014c4817c42a5e3f2e1c10b628aa01d22ccd (patch)
tree2ba236dcf5a2a1b1cc1858219c98705b7551122b /sys/vm/vm_pageout.c
parent1218acb302eabe62732caff18eabb18eba54eff0 (diff)
downloadFreeBSD-src-af33014c4817c42a5e3f2e1c10b628aa01d22ccd.zip
FreeBSD-src-af33014c4817c42a5e3f2e1c10b628aa01d22ccd.tar.gz
Assert that fictitious or unmanaged pages do not appear on
active/inactive lists. Sponsored by: The FreeBSD Foundation Reviewed by: alc MFC after: 1 month
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r--sys/vm/vm_pageout.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 812fe4d..fccd1dc 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -805,6 +805,11 @@ rescan0:
if (m->flags & PG_MARKER)
continue;
+ KASSERT((m->flags & PG_FICTITIOUS) == 0,
+ ("Fictitious page %p cannot be in inactive queue", m));
+ KASSERT((m->oflags & VPO_UNMANAGED) == 0,
+ ("Unmanaged page %p cannot be in inactive queue", m));
+
/*
* Lock the page.
*/
@@ -1143,6 +1148,10 @@ unlock_and_continue:
m = next;
continue;
}
+ KASSERT((m->flags & PG_FICTITIOUS) == 0,
+ ("Fictitious page %p cannot be in active queue", m));
+ KASSERT((m->oflags & VPO_UNMANAGED) == 0,
+ ("Unmanaged page %p cannot be in active queue", m));
if (!vm_pageout_page_lock(m, &next)) {
vm_page_unlock(m);
m = next;
OpenPOWER on IntegriCloud