diff options
author | kib <kib@FreeBSD.org> | 2012-05-12 20:24:46 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-05-12 20:24:46 +0000 |
commit | af33014c4817c42a5e3f2e1c10b628aa01d22ccd (patch) | |
tree | 2ba236dcf5a2a1b1cc1858219c98705b7551122b | |
parent | 1218acb302eabe62732caff18eabb18eba54eff0 (diff) | |
download | FreeBSD-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
-rw-r--r-- | sys/vm/vm_pageout.c | 9 |
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; |