Date: Wed, 13 Mar 2013 21:20:28 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: John Baldwin <jhb@freebsd.org> Cc: Rick Macklem <rmacklem@freebsd.org>, fs@freebsd.org Subject: Re: Deadlock in the NFS client Message-ID: <1040319431.3883577.1363224028494.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <201303131356.37919.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I wrote:
> Does having a large # of nfsiod threads cause any serious problem for most
> systems these days?
>
> I'd be tempted to recode nfs_asyncio() as above and then, instead of nfs_iodmin
> and nfs_iodmax, I'd simply have:
> - a fixed number of nfsiod threads (this could be a tunable, with the
> understanding that it should be large for good performance)
I'm probably getting ahead of myself here, since changing nfs_asyncio() may/may not
fix the deadlock, but I thought I'd comment further on the above.
It may be possible to add a new nfs_iod_target (the desired # of nfsiod threads)
and adjust that dynamically based on the ratio of the # of times nfs_asyncio() returns:
#EIO/#0 --> when there are too many EIO returns, increase nfs_iod_target
--> very few EIO returns, decrease nfs_iod_target
- Use nfs_iodmin, nfs_iodmax as the limits for nfs_iod_target and set
nfs_iodmax much larger than it currently is, by default, with
nfs_iod_target set to what nfs_iodmax is currently set to, by default.
rick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1040319431.3883577.1363224028494.JavaMail.root>
