summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.h
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2001-07-04 23:27:09 +0000
committerdillon <dillon@FreeBSD.org>2001-07-04 23:27:09 +0000
commit93369f554a43c46419d56436721efe61e4b858c7 (patch)
tree81260d55ae91eebf4632f0a755612f23148b8fb8 /sys/vm/vm_page.h
parent62d663b9b937d23cdb2e47513623bf3834ebac8e (diff)
downloadFreeBSD-src-93369f554a43c46419d56436721efe61e4b858c7.zip
FreeBSD-src-93369f554a43c46419d56436721efe61e4b858c7.tar.gz
Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc).
Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system. vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-)
Diffstat (limited to 'sys/vm/vm_page.h')
-rw-r--r--sys/vm/vm_page.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 11a1a2d..c2a10df 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -147,6 +147,14 @@ struct vm_page {
#if !defined(KLD_MODULE)
/*
+ * shared mutex array for vm_page_buckets[]
+ */
+#ifndef BUCKET_HASH_SIZE
+#define BUCKET_HASH_SIZE 16
+#endif
+#define BUCKET_HASH_MASK (BUCKET_HASH_SIZE - 1)
+
+/*
* Page coloring parameters
*/
/* Each of PQ_FREE, and PQ_CACHE have PQ_HASH_SIZE entries */
@@ -338,6 +346,15 @@ void vm_page_undirty(vm_page_t m);
vm_page_t vm_page_list_find(int basequeue, int index, boolean_t prefer_zero);
void vm_page_wakeup(vm_page_t m);
+void vm_pageq_init(void);
+struct vpgqueues *vm_pageq_aquire(int queue);
+void vm_pageq_release(struct vpgqueues *vpq);
+vm_page_t vm_pageq_add_new_page(vm_offset_t pa);
+void vm_pageq_remove_nowakeup(vm_page_t m);
+void vm_pageq_remove(vm_page_t m);
+vm_page_t vm_pageq_find(int basequeue, int index, boolean_t prefer_zero);
+void vm_pageq_requeue(vm_page_t m);
+
void vm_page_activate (vm_page_t);
vm_page_t vm_page_alloc (vm_object_t, vm_pindex_t, int);
vm_page_t vm_page_grab (vm_object_t, vm_pindex_t, int);
OpenPOWER on IntegriCloud