summaryrefslogtreecommitdiffstats
path: root/sys/nfsserver
diff options
context:
space:
mode:
authormohans <mohans@FreeBSD.org>2007-10-12 03:56:27 +0000
committermohans <mohans@FreeBSD.org>2007-10-12 03:56:27 +0000
commit11057bb00f9f3b774ef74c31ebed91a17cb02a2b (patch)
treef34b01cf15801e9a776d59231a8e65de164c98d1 /sys/nfsserver
parente279fe58cfce32d714c22d04c3909696223222a2 (diff)
downloadFreeBSD-src-11057bb00f9f3b774ef74c31ebed91a17cb02a2b.zip
FreeBSD-src-11057bb00f9f3b774ef74c31ebed91a17cb02a2b.tar.gz
Set the NFS server sockbuf high watermarks to the system defaults
(up form 32KB). The low highwatermark setting caused UDP fullsock request drops, throttling thruput greatly. Reported by: Kris Kennaway Approved by: re@ (Ken Smith)
Diffstat (limited to 'sys/nfsserver')
-rw-r--r--sys/nfsserver/nfs_syscalls.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/nfsserver/nfs_syscalls.c b/sys/nfsserver/nfs_syscalls.c
index aea9cc4..3043fcd 100644
--- a/sys/nfsserver/nfs_syscalls.c
+++ b/sys/nfsserver/nfs_syscalls.c
@@ -100,6 +100,8 @@ static int nfssvc_addsock(struct file *, struct sockaddr *,
static void nfsrv_zapsock(struct nfssvc_sock *slp);
static int nfssvc_nfsd(struct thread *);
+extern u_long sb_max_adj;
+
/*
* NFS server system calls
*/
@@ -206,10 +208,7 @@ nfssvc_addsock(struct file *fp, struct sockaddr *mynam, struct thread *td)
}
}
#endif
- if (so->so_type == SOCK_STREAM)
- siz = NFS_MAXPACKET + sizeof (u_long);
- else
- siz = NFS_MAXPACKET;
+ siz = sb_max_adj;
error = soreserve(so, siz, siz);
if (error) {
if (mynam != NULL)
OpenPOWER on IntegriCloud