From: "J. Bruce Fields" <bfields@fieldses.org>
To: Andrei Warkentin <awarkentin@vmware.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: Race between NFS server thread increase / decrease
Date: Wed, 28 Nov 2012 09:57:38 -0500 [thread overview]
Message-ID: <20121128145738.GD11651@fieldses.org> (raw)
In-Reply-To: <864189844.31754280.1353966597599.JavaMail.root@vmware.com>
On Mon, Nov 26, 2012 at 01:49:57PM -0800, Andrei Warkentin wrote:
> Hi NFSD developers,
>
> I've found what I think is an interesting problem that occurs on single-CPU machines as far as I can tell.
>
> Basically the following snippet will occasionally loop forever printing that one thread is still running. Further
> attempts to run "/usr/sbin/rpc.nfsd 0" don't help.
>
> /usr/sbin/rpc.nfsd 1
> /usr/sbin/rpc.nfsd 0
> while [ ! $[`cat /proc/fs/nfsd/threads`] -eq 0 ]; do
> echo $[`cat /proc/fs/nfsd/threads`] still running
> sleep .1
> done
>
> I've not looked a whole lot at it. It appears that although the paths calling svc_set_num_threads synchronize on nfsd_mutex, the code doesn't seem to try waiting on the number of threads to reach the desired count.
Yeah, I guess it just signals and returns, I agree that's not ideal.
Though in your case fixing that may just mean the "rpc.nfsd 0" would
hang.
> What do you guys think?
That is odd. I'm not sure to suggest without spending a bunch of time
on it.
Presumably ps will still show an nfsd thread running?
Might be interesting to see its stack (cat /proc/<pid>/stack) or look at
a full sysrq-t dump (sysrq-t, then check the logs).
Is it stuck spinning in some kind of loop? (E.g. does "top" show
anything interesting?)
If none of that provides any hints, I dunno, my caveman approach would
be to just stare really hard and the relevant code and start sprinkling
printk's around as necessary.
--b.
>
> Thanks.
>
> A
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2012-11-28 14:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <477254919.31693823.1353963259597.JavaMail.root@vmware.com>
2012-11-26 21:49 ` Race between NFS server thread increase / decrease Andrei Warkentin
2012-11-28 14:57 ` J. Bruce Fields [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121128145738.GD11651@fieldses.org \
--to=bfields@fieldses.org \
--cc=awarkentin@vmware.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.