summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-14 23:51:55 +0000
committeralc <alc@FreeBSD.org>2002-07-14 23:51:55 +0000
commitec8a106e8a10401d462de8ab256aea0a8f824f53 (patch)
tree99936febc42223e68e46d00c4751ee062499b1e8 /sys/vm/vm_page.c
parentd3091fc32b111ebce3d5248653807320512d3ad5 (diff)
downloadFreeBSD-src-ec8a106e8a10401d462de8ab256aea0a8f824f53.zip
FreeBSD-src-ec8a106e8a10401d462de8ab256aea0a8f824f53.tar.gz
o Lock page queue accesses by vm_page_wire() that aren't
within a critical section. o Assert that the page queues lock is held in vm_page_wire() unless an Alpha.
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 6e08ec1..7dd2300 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1241,6 +1241,9 @@ vm_page_wire(vm_page_t m)
* it is already off the queues).
*/
s = splvm();
+#ifndef __alpha__
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+#endif
if (m->wire_count == 0) {
if ((m->flags & PG_UNMANAGED) == 0)
vm_pageq_remove(m);
OpenPOWER on IntegriCloud