summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkj <markj@FreeBSD.org>2017-11-28 01:15:10 +0000
committerLuiz Souza <luiz@netgate.com>2018-02-21 15:15:20 -0300
commit6cbea300f4983466a260ce85583bf5eaf702780c (patch)
treeba13a7f8960d8d47df6b6617d13494c423f4f2fd
parent47aac30b6f41db4be76373692e126f2282af9f0b (diff)
downloadFreeBSD-src-6cbea300f4983466a260ce85583bf5eaf702780c.zip
FreeBSD-src-6cbea300f4983466a260ce85583bf5eaf702780c.tar.gz
MFC r326055:
Allow for fictitious physical pages in vm_page_scan_contig(). (cherry picked from commit 332a8c368c824313c1bcac21a4ad1c73666818ae)
-rw-r--r--sys/vm/vm_page.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 4b6dcbe..982d55e 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -2036,8 +2036,10 @@ vm_page_scan_contig(u_long npages, vm_page_t m_start, vm_page_t m_end,
run_len = 0;
m_mtx = NULL;
for (m = m_start; m < m_end && run_len < npages; m += m_inc) {
- KASSERT((m->flags & (PG_FICTITIOUS | PG_MARKER)) == 0,
- ("page %p is PG_FICTITIOUS or PG_MARKER", m));
+ KASSERT((m->flags & PG_MARKER) == 0,
+ ("page %p is PG_MARKER", m));
+ KASSERT((m->flags & PG_FICTITIOUS) == 0 || m->wire_count == 1,
+ ("fictitious page %p has invalid wire count", m));
/*
* If the current page would be the start of a run, check its
OpenPOWER on IntegriCloud