Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 2003 11:26:40 -0700
From:      John-Mark Gurney <gurney_j@efn.org>
To:        Richard Sharpe <rsharpe@richardsharpe.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Throughput problems with NFS between Linux and FreeBSD
Message-ID:  <20030919182640.GJ75714@funkthat.com>
In-Reply-To: <Pine.LNX.4.44.0309191030460.4335-100000@durable>
References:  <Pine.LNX.4.44.0309191030460.4335-100000@durable>

next in thread | previous in thread | raw e-mail | index | archive | help
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."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030919182640.GJ75714>