Date: Wed, 13 Mar 2013 01:14:58 -0400 From: Garrett Wollman <wollman@freebsd.org> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: freebsd-net@freebsd.org, andre@freebsd.org, Ivan Voras <ivoras@freebsd.org> Subject: Re: Limits on jumbo mbuf cluster allocation Message-ID: <20800.2898.798984.157469@hergotha.csail.mit.edu> In-Reply-To: <75232221.3844453.1363146480616.JavaMail.root@erie.cs.uoguelph.ca> References: <20798.44871.601547.24628@hergotha.csail.mit.edu> <75232221.3844453.1363146480616.JavaMail.root@erie.cs.uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
<<On Tue, 12 Mar 2013 23:48:00 -0400 (EDT), Rick Macklem <rmacklem@uoguelph.ca> said: > Basically, this patch: > - allows setting of the tcp timeout via vfs.nfsd.tcpcachetimeo > (I'd suggest you go down to a few minutes instead of 12hrs) > - allows TCP caching to be disabled by setting vfs.nfsd.cachetcp=0 > - does the above 2 things you describe to try and avoid the livelock, > although not quite using an lru list > - increases the hash table size to 500 (still a compile time setting) > (feel free to make it even bigger) > - sets nfsrc_floodlevel to at least nfsrc_tcphighwater, so you can > grow vfs.nfsd.tcphighwater as big as you dare Thanks, this looks very good. One quibble with the last bit: I'd do that in a sysctl() handler rather than checking it every time through. If somebody uses a debugger rather than sysctl to change tcphighwater, they deserve what's coming to them. Also, I might suggest adding a counter for how many times we had to go through the "try harder" phase, so that the sysadmin has some indication that the defaults need adjustment. I will test this out later this week and see how it performs. I have a user who has been able to reproducibly clobber servers before, so if he has time and cycles available it should be pretty easy to tell whether it's working or not. -GAWollman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20800.2898.798984.157469>