summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-18 04:08:10 +0000
committeralc <alc@FreeBSD.org>2002-07-18 04:08:10 +0000
commitbf14f2641b55a6ad0f889aa2b0ff3240ad1cc384 (patch)
treed36c6bd5e594479dd64d78868dd7e7d2fb35a878 /sys/vm/vm_page.h
parentcc2882c16b223d38b64f938d27b4b686d3892590 (diff)
downloadFreeBSD-src-bf14f2641b55a6ad0f889aa2b0ff3240ad1cc384.zip
FreeBSD-src-bf14f2641b55a6ad0f889aa2b0ff3240ad1cc384.tar.gz
o Introduce an argument, VM_ALLOC_WIRED, that requests vm_page_alloc()
to return a wired page. o Use VM_ALLOC_WIRED within Alpha's pmap_growkernel(). Also, because Alpha's pmap_growkernel() calls vm_page_alloc() from within a critical section, specify VM_ALLOC_INTERRUPT instead of VM_ALLOC_SYSTEM. (Only VM_ALLOC_INTERRUPT is implemented entirely with a spin mutex.) o Assert that the page queues mutex is held in vm_page_wire() on Alpha, just like the other platforms.
Diffstat (limited to 'sys/vm/vm_page.h')
-rw-r--r--sys/vm/vm_page.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 17afdb8..fe215c0 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -307,11 +307,15 @@ extern struct mtx vm_page_queue_mtx;
#define VM_PAGE_BITS_ALL 0xffff
#endif
+/* page allocation classes: */
#define VM_ALLOC_NORMAL 0
#define VM_ALLOC_INTERRUPT 1
#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_ZERO 0x40
-#define VM_ALLOC_RETRY 0x80
+#define VM_ALLOC_RETRY 0x80 /* vm_page_grab() only */
void vm_page_flag_set(vm_page_t m, unsigned short bits);
void vm_page_flag_clear(vm_page_t m, unsigned short bits);
OpenPOWER on IntegriCloud