Linux NFS development
 help / color / mirror / Atom feed
From: Wendy Cheng <s.wendy.cheng@gmail.com>
To: Christian Robottom Reis <kiko@canonical.com>
Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org>
Subject: Re: [NFS] Server-side locking issue
Date: Thu, 12 Jun 2008 18:17:10 -0400	[thread overview]
Message-ID: <4851A066.8060501@gmail.com> (raw)
In-Reply-To: <20080612214340.GA17293-Zkq4WM0RTTBfJ/NunPodnw@public.gmane.org>

Christian Robottom Reis wrote:
>
> This time I did a ps auxww locking for the lockd process. And guess
> what?
>
> root      6323  0.0  0.0      0     0 ?        D    Jun01   0:50 [lockd]
>
> I wonder why it's in the D state. I also wonder if there's a way to get
> it back once it's in this state -- without reloading the kernel module
> or rebooting, I guess.
>
> I've collected a trace, at any rate, but lockd isn't even listed in it --
> I can send it in if it makes sense.
>   

What kind of "trace" data you've collected ? As a rule of thumb, when a 
process is stuck inside the kernel, the best approach is to:

shell> cd /proc
shell> echo w > sysrq-trigger // do this a couple of times
shell> echo t > sysrq-trigger

The "w" will force kernel to print out threads' backtrace that are 
currently on the active CPUs. The "t" will print out all the thread 
backtraces on this machine (but sometime skip the ones spinning on the 
CPUs). These traces will give people a much better idea what went on in 
the kernel at that particular time. All the backtraces should show up in 
/var/log/messages file and/or system console.

*Warning* ... the "t" will pause system for a noticeable amount of time 
(few seconds to few minutes, depending on thread counts) since it has to 
walk thru every thread's stack in that running system. If you have 
cluster configured, it could make the node missing its heartbeat 
processing (so you need to increase the heartbeat interval before doing 
this).

> What sort of debugging can I do to figure out what's wrong here?
>
> (This is a dual-Xeon running:
>
>     Linux anthem 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux)
>   
Another approach is to make a debug kernel and run "crash" to poke the 
live kernel. Dave Anderson from Red Hat has an excellent tutorial in his 
people's page: http://people.redhat.com/anderson . It is also very helpful.

-- Wendy



  parent reply	other threads:[~2008-06-12 22:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-08 22:18 [NFS] Server-side locking issue Christian Robottom Reis
     [not found] ` <20080508221815.GB4583-Zkq4WM0RTTBfJ/NunPodnw@public.gmane.org>
2008-05-09 15:43   ` J. Bruce Fields
2008-06-12 21:43     ` Christian Robottom Reis
     [not found]       ` <20080612214340.GA17293-Zkq4WM0RTTBfJ/NunPodnw@public.gmane.org>
2008-06-12 22:17         ` Wendy Cheng [this message]
2008-06-12 22:42         ` Wendy Cheng
2008-06-12 23:50         ` Jeff Layton

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=4851A066.8060501@gmail.com \
    --to=s.wendy.cheng@gmail.com \
    --cc=kiko@canonical.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox