summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_extern.h
diff options
context:
space:
mode:
authorAriane van der Steldt <ariane@cvs.openbsd.org>2009-06-01 17:42:34 +0000
committerAriane van der Steldt <ariane@cvs.openbsd.org>2009-06-01 17:42:34 +0000
commitd30afc0ec38415711bc30130e9412a6026468e8b (patch)
treeee3b3b40a267f69f54dca2c401c95db8de083c91 /sys/uvm/uvm_extern.h
parentf5deafb272a62d5cf541c0d5ded06c603823ad2f (diff)
physmem allocator: change the view of free memory from single free pages
to free ranges. Classify memory based on region with associated use-counter (which is used to construct a priority list of where to allocate memory). Based on code from tedu@, help from many. Ok art@
Diffstat (limited to 'sys/uvm/uvm_extern.h')
-rw-r--r--sys/uvm/uvm_extern.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h
index 5ff1e2ddad2..bc6a766590a 100644
--- a/sys/uvm/uvm_extern.h
+++ b/sys/uvm/uvm_extern.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_extern.h,v 1.76 2009/04/20 00:30:18 oga Exp $ */
+/* $OpenBSD: uvm_extern.h,v 1.77 2009/06/01 17:42:33 ariane Exp $ */
/* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */
/*
@@ -221,11 +221,12 @@ typedef int vm_prot_t;
#define UVM_PGA_ZERO 0x0002 /* returned page must be zeroed */
/*
- * flags for uvm_pglistalloc()
+ * flags for uvm_pglistalloc() and uvm_pmr_getpages()
*/
#define UVM_PLA_WAITOK 0x0001 /* may sleep */
#define UVM_PLA_NOWAIT 0x0002 /* can't sleep (need one of the two) */
#define UVM_PLA_ZERO 0x0004 /* zero all pages before returning */
+#define UVM_PLA_TRY_CONTIG 0x0008 /* try to allocate a contig range */
/*
* lockflags that control the locking behavior of various functions.
@@ -589,6 +590,10 @@ int uvm_pglistalloc(psize_t, paddr_t,
struct pglist *, int, int);
void uvm_pglistfree(struct pglist *);
+/* uvm_pmemrange.c */
+
+void uvm_pmr_use_inc(paddr_t, paddr_t);
+
/* uvm_swap.c */
void uvm_swap_init(void);