Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 2003 12:06:31 -0800 (GMT-08:00)
From:      tlambert2@mindspring.com
To:        John-Mark Gurney <gurney_j@efn.org>, Richard Sharpe <rsharpe@richardsharpe.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Throughput problems with NFS between Linux and FreeBSD
Message-ID:  <27372991.1064001992219.JavaMail.root@wamui06.slb.atl.earthlink.net>

next in thread | raw e-mail | index | archive | help
John-Mark Gurney wrote:
> Richard Sharpe wrote this message on Fri, Sep 19, 2003 at 10:38 -0700:
> > 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?

FWIW: I think he means that they change the value of NFS_MAXPACKET.

This would actually make sense: you really want the value to be NFS_MAXPACKET
times the number of packets you want to allow, up to the TCP window size...

...unless I'm seriously misunderstanding him.

-- Terry



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