summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.h
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-12-29 00:25:11 +0000
committerdyson <dyson@FreeBSD.org>1997-12-29 00:25:11 +0000
commitcd67bb82fe37f70fed8e42c14c818de84029e3c0 (patch)
treea5d04c1ccd61a23a22dbd5ecd8264d7c3e866024 /sys/vm/vm_object.h
parentf5f5008388092430288cb0018453755be5be7bdb (diff)
downloadFreeBSD-src-cd67bb82fe37f70fed8e42c14c818de84029e3c0.zip
FreeBSD-src-cd67bb82fe37f70fed8e42c14c818de84029e3c0.tar.gz
Lots of improvements, including restructring the caching and management
of vnodes and objects. There are some metadata performance improvements that come along with this. There are also a few prototypes added when the need is noticed. Changes include: 1) Cleaning up vref, vget. 2) Removal of the object cache. 3) Nuke vnode_pager_uncache and friends, because they aren't needed anymore. 4) Correct some missing LK_RETRY's in vn_lock. 5) Correct the page range in the code for msync. Be gentle, and please give me feedback asap.
Diffstat (limited to 'sys/vm/vm_object.h')
-rw-r--r--sys/vm/vm_object.h9
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index 305043b..a13a5bf 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.h,v 1.38 1997/09/21 04:24:24 dyson Exp $
+ * $Id: vm_object.h,v 1.39 1997/12/19 09:03:16 dyson Exp $
*/
/*
@@ -84,7 +84,6 @@ typedef enum obj_type objtype_t;
struct vm_object {
TAILQ_ENTRY(vm_object) object_list; /* list of all objects */
- TAILQ_ENTRY(vm_object) cached_list; /* list of cached (persistent) objects */
TAILQ_HEAD(, vm_object) shadow_head; /* objects that this is a shadow for */
TAILQ_ENTRY(vm_object) shadow_list; /* chain of shadow objects */
TAILQ_HEAD(, vm_page) memq; /* list of resident pages */
@@ -142,12 +141,9 @@ struct vm_object {
#define OFF_TO_IDX(off) ((vm_pindex_t)(((vm_ooffset_t)(off)) >> PAGE_SHIFT))
#ifdef KERNEL
-extern int vm_object_cache_max;
TAILQ_HEAD(object_q, vm_object);
-extern struct object_q vm_object_cached_list; /* list of objects persisting */
-
extern struct object_q vm_object_list; /* list of allocated objects */
/* lock for object list and count */
@@ -170,13 +166,12 @@ vm_object_pip_wakeup(vm_object_t object)
vm_object_t vm_object_allocate __P((objtype_t, vm_size_t));
void _vm_object_allocate __P((objtype_t, vm_size_t, vm_object_t));
-void vm_object_cache_clear __P((void));
boolean_t vm_object_coalesce __P((vm_object_t, vm_pindex_t, vm_size_t, vm_size_t));
void vm_object_collapse __P((vm_object_t));
void vm_object_copy __P((vm_object_t, vm_pindex_t, vm_object_t *, vm_pindex_t *, boolean_t *));
void vm_object_deallocate __P((vm_object_t));
void vm_object_init __P((void));
-void vm_object_page_clean __P((vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t, boolean_t));
+void vm_object_page_clean __P((vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t));
void vm_object_page_remove __P((vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t));
void vm_object_pmap_copy __P((vm_object_t, vm_pindex_t, vm_pindex_t));
void vm_object_pmap_copy_1 __P((vm_object_t, vm_pindex_t, vm_pindex_t));
OpenPOWER on IntegriCloud