summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-28 23:46:19 +0000
committeralc <alc@FreeBSD.org>2002-07-28 23:46:19 +0000
commitd0cb048dcb1dcde0bc759dd359240420a76f7609 (patch)
tree6a620c6b12c4508119df1ec700b65a401ecb6523
parent403946d7ed3ed55c7c3fa05c4470a00d5601d21a (diff)
downloadFreeBSD-src-d0cb048dcb1dcde0bc759dd359240420a76f7609.zip
FreeBSD-src-d0cb048dcb1dcde0bc759dd359240420a76f7609.tar.gz
o Modify vm_page_grab() to accept VM_ALLOC_WIRED.
-rw-r--r--sys/vm/vm_page.c4
-rw-r--r--sys/vm/vm_page.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 7ff3434..1674b07 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1532,7 +1532,11 @@ retrylookup:
splx(s);
goto retrylookup;
} else {
+ vm_page_lock_queues();
+ if (allocflags & VM_ALLOC_WIRED)
+ vm_page_wire(m);
vm_page_busy(m);
+ vm_page_unlock_queues();
return m;
}
}
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index a4077af..42b4410 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -313,7 +313,7 @@ extern struct mtx vm_page_queue_mtx;
#define VM_ALLOC_SYSTEM 2
#define VM_ALLOC_CLASS_MASK 3
/* page allocation flags: */
-#define VM_ALLOC_WIRED 0x20 /* vm_page_alloc() only */
+#define VM_ALLOC_WIRED 0x20
#define VM_ALLOC_ZERO 0x40
#define VM_ALLOC_RETRY 0x80 /* vm_page_grab() only */
OpenPOWER on IntegriCloud