summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1998-02-05 03:32:49 +0000
committerdyson <dyson@FreeBSD.org>1998-02-05 03:32:49 +0000
commitebccbfc1ff2783a90468a1caf1dcdec08e2cdfda (patch)
tree55a2e387681d3f8a086c24b5ee5f182df4318779 /sys/kern/vfs_subr.c
parentc552a9a1c3362d37fc1aaf3a9ba4231225b1f13a (diff)
downloadFreeBSD-src-ebccbfc1ff2783a90468a1caf1dcdec08e2cdfda.zip
FreeBSD-src-ebccbfc1ff2783a90468a1caf1dcdec08e2cdfda.tar.gz
1) Start using a cleaner and more consistant page allocator instead
of the various ad-hoc schemes. 2) When bringing in UPAGES, the pmap code needs to do another vm_page_lookup. 3) When appropriate, set the PG_A or PG_M bits a-priori to both avoid some processor errata, and to minimize redundant processor updating of page tables. 4) Modify pmap_protect so that it can only remove permissions (as it originally supported.) The additional capability is not needed. 5) Streamline read-only to read-write page mappings. 6) For pmap_copy_page, don't enable write mapping for source page. 7) Correct and clean-up pmap_incore. 8) Cluster initial kern_exec pagin. 9) Removal of some minor lint from kern_malloc. 10) Correct some ioopt code. 11) Remove some dead code from the MI swapout routine. 12) Correct vm_object_deallocate (to remove backing_object ref.) 13) Fix dead object handling, that had problems under heavy memory load. 14) Add minor vm_page_lookup improvements. 15) Some pages are not in objects, and make sure that the vm_page.c can properly support such pages. 16) Add some more page deficit handling. 17) Some minor code readability improvements.
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 958bd71..08b65bc 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.127 1998/01/31 01:17:58 tegge Exp $
+ * $Id: vfs_subr.c,v 1.128 1998/02/04 22:32:40 eivind Exp $
*/
/*
@@ -1170,6 +1170,7 @@ vclean(vp, flags, p)
struct proc *p;
{
int active;
+ vm_object_t obj;
/*
* Check to see if the vnode is in use. If so we have to reference it
@@ -1199,18 +1200,18 @@ vclean(vp, flags, p)
* Clean out any buffers associated with the vnode.
*/
vinvalbuf(vp, V_SAVE, NOCRED, p, 0, 0);
- if (vp->v_object) {
- if (vp->v_object->ref_count == 0) {
+ if (obj = vp->v_object) {
+ if (obj->ref_count == 0) {
/*
* This is a normal way of shutting down the object/vnode
* association.
*/
- vm_object_terminate(vp->v_object);
+ vm_object_terminate(obj);
} else {
/*
* Woe to the process that tries to page now :-).
*/
- vm_pager_deallocate(vp->v_object);
+ vm_pager_deallocate(obj);
}
}
OpenPOWER on IntegriCloud