summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_phys.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2007-12-20 22:45:54 +0000
committeralc <alc@FreeBSD.org>2007-12-20 22:45:54 +0000
commit4518d14d23d39aa1ddb90b5fd9e77e2103fd688c (patch)
tree7350b6bba47831c95a732e1b880a7c163e8518a3 /sys/vm/vm_phys.h
parentde6536e34df5d7e1d7c8977b472e693b6f71ef76 (diff)
downloadFreeBSD-src-4518d14d23d39aa1ddb90b5fd9e77e2103fd688c.zip
FreeBSD-src-4518d14d23d39aa1ddb90b5fd9e77e2103fd688c.tar.gz
Modify vm_phys_unfree_page() so that it no longer requires the given
page to be in the free lists. Instead, it now returns TRUE if it removed the page from the free lists and FALSE if the page was not in the free lists. This change is required to support superpage reservations. Specifically, once reservations are introduced, a cached page can either be in the free lists or a reservation.
Diffstat (limited to 'sys/vm/vm_phys.h')
-rw-r--r--sys/vm/vm_phys.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/vm/vm_phys.h b/sys/vm/vm_phys.h
index 3e35f9b..0e012c3 100644
--- a/sys/vm/vm_phys.h
+++ b/sys/vm/vm_phys.h
@@ -38,6 +38,8 @@
#ifndef _VM_PHYS_H_
#define _VM_PHYS_H_
+#ifdef _KERNEL
+
void vm_phys_add_page(vm_paddr_t pa);
vm_page_t vm_phys_alloc_contig(unsigned long npages,
vm_paddr_t low, vm_paddr_t high,
@@ -47,7 +49,8 @@ vm_paddr_t vm_phys_bootstrap_alloc(vm_size_t size, unsigned long alignment);
void vm_phys_free_pages(vm_page_t m, int order);
void vm_phys_init(void);
void vm_phys_set_pool(int pool, vm_page_t m, int order);
-void vm_phys_unfree_page(vm_page_t m);
+boolean_t vm_phys_unfree_page(vm_page_t m);
boolean_t vm_phys_zero_pages_idle(void);
+#endif /* _KERNEL */
#endif /* !_VM_PHYS_H_ */
OpenPOWER on IntegriCloud