summaryrefslogtreecommitdiffstats
path: root/sys/nfs
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-01-19 04:00:31 +0000
committerdyson <dyson@FreeBSD.org>1996-01-19 04:00:31 +0000
commit8fc8a772af22f6e03233d248fa2dbd9b5c2bdd7d (patch)
tree3c31fd95ea745005a9cd6733db5a16f31bd828a6 /sys/nfs
parent6755beedbf0ddaa9e66e91c8e74f620ede6bfad5 (diff)
downloadFreeBSD-src-8fc8a772af22f6e03233d248fa2dbd9b5c2bdd7d.zip
FreeBSD-src-8fc8a772af22f6e03233d248fa2dbd9b5c2bdd7d.tar.gz
Eliminated many redundant vm_map_lookup operations for vm_mmap.
Speed up for vfs_bio -- addition of a routine bqrelse to greatly diminish overhead for merged cache. Efficiency improvement for vfs_cluster. It used to do alot of redundant calls to cluster_rbuild. Correct the ordering for vrele of .text and release of credentials. Use the selective tlb update for 486/586/P6. Numerous fixes to the size of objects allocated for files. Additionally, fixes in the various pagers. Fixes for proper positioning of vnode_pager_setsize in msdosfs and ext2fs. Fixes in the swap pager for exhausted resources. The pageout code will not as readily thrash. Change the page queue flags (PG_ACTIVE, PG_INACTIVE, PG_FREE, PG_CACHE) into page queue indices (PQ_ACTIVE, PQ_INACTIVE, PQ_FREE, PQ_CACHE), thereby improving efficiency of several routines. Eliminate even more unnecessary vm_page_protect operations. Significantly speed up process forks. Make vm_object_page_clean more efficient, thereby eliminating the pause that happens every 30seconds. Make sequential clustered writes B_ASYNC instead of B_DELWRI even in the case of filesystems mounted async. Fix a panic with busy pages when write clustering is done for non-VMIO buffers.
Diffstat (limited to 'sys/nfs')
-rw-r--r--sys/nfs/nfs_common.c4
-rw-r--r--sys/nfs/nfs_subs.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/nfs/nfs_common.c b/sys/nfs/nfs_common.c
index 6d064c7..f0c670c 100644
--- a/sys/nfs/nfs_common.c
+++ b/sys/nfs/nfs_common.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94
- * $Id: nfs_subs.c,v 1.26 1995/12/17 21:12:30 phk Exp $
+ * $Id: nfs_subs.c,v 1.27 1996/01/13 23:27:56 phk Exp $
*/
/*
@@ -1941,7 +1941,7 @@ retry:
if (VOP_GETATTR(vp, &vat, p->p_ucred, p) != 0)
panic("nfsrv_vmio: VOP_GETATTR failed");
- (void) vnode_pager_alloc(vp, vat.va_size, 0, 0);
+ (void) vnode_pager_alloc(vp, OFF_TO_IDX(round_page(vat.va_size)), 0, 0);
vp->v_flag |= VVMIO;
} else {
diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c
index 6d064c7..f0c670c 100644
--- a/sys/nfs/nfs_subs.c
+++ b/sys/nfs/nfs_subs.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.3 (Berkeley) 1/4/94
- * $Id: nfs_subs.c,v 1.26 1995/12/17 21:12:30 phk Exp $
+ * $Id: nfs_subs.c,v 1.27 1996/01/13 23:27:56 phk Exp $
*/
/*
@@ -1941,7 +1941,7 @@ retry:
if (VOP_GETATTR(vp, &vat, p->p_ucred, p) != 0)
panic("nfsrv_vmio: VOP_GETATTR failed");
- (void) vnode_pager_alloc(vp, vat.va_size, 0, 0);
+ (void) vnode_pager_alloc(vp, OFF_TO_IDX(round_page(vat.va_size)), 0, 0);
vp->v_flag |= VVMIO;
} else {
OpenPOWER on IntegriCloud