From owner-freebsd-hackers@FreeBSD.ORG Fri Sep 19 11:26:43 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED2DD16A4B3 for ; Fri, 19 Sep 2003 11:26:43 -0700 (PDT) Received: from mail.cyberonic.com (mail.cyberonic.com [4.17.179.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id CB26543FF7 for ; Fri, 19 Sep 2003 11:26:42 -0700 (PDT) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (node-40244c0a.sfo.onnet.us.uu.net [64.36.76.10]) by mail.cyberonic.com (8.12.8/8.12.5) with ESMTP id h8JIWsbi022821; Fri, 19 Sep 2003 14:32:54 -0400 Received: (from jmg@localhost) by hydrogen.funkthat.com (8.12.9/8.11.6) id h8JIQekI020813; Fri, 19 Sep 2003 11:26:40 -0700 (PDT) (envelope-from jmg) Date: Fri, 19 Sep 2003 11:26:40 -0700 From: John-Mark Gurney To: Richard Sharpe Message-ID: <20030919182640.GJ75714@funkthat.com> Mail-Followup-To: Richard Sharpe , freebsd-hackers@freebsd.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD 4.2-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html cc: freebsd-hackers@freebsd.org Subject: Re: Throughput problems with NFS between Linux and FreeBSD X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: John-Mark Gurney List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Sep 2003 18:26:44 -0000 Richard Sharpe wrote this message on Fri, Sep 19, 2003 at 10:38 -0700: > We recently encountered a problem with NFS throughput between a FreeBSD > server (we are using 4.6.2, but the same code seems to be in 5.1 as well). > > When using Linux 2.4.19 or 2.4.21 as a client, although this might extend > to other clients, and copying a large file, you will see the behavior > shown in [...] > The problem seems to be the following code > > if (so->so_type == SOCK_STREAM) > siz = NFS_MAXPACKET + sizeof (u_long); > else > siz = NFS_MAXPACKET; > error = soreserve(so, siz, siz); > > in src/sys/nfs/nfs_syscalls.c. > > We added a sysctl to allow finer control over what is passed to soreserve. > > With the fix in, it goes up to around wire speed when lots of data is in > the cache. What is the fix? You don't say what adjustments to soreserve's parameters are necessary to improve performance? Have you done testing against other clients to see how your changes will affect performance on those machines? -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."