What Linux's RPC queue dump means, sort of

Since I went digging through the kernel source code yesterday, here is the meaning of the fields in the RPC queue dump that you get any time you write to /proc/sys/sunrpc/rpc_debug.

As far as I've been able to work out, the useful fields are:

-pid- An internal RPC sequence number; it has nothing to do with process PIDs, despite the name.
proc The RPC procedure number being invoked, in decimal; you can find which NFS action is which number from places like include/linux/nfs3.h in the Linux kernel source.
flgs The RPC flags in hex; see include/linux/sunrpc/sched.h for the values.
status Either 0 or a (negated) errno if the task has hit an error.
-client- An opaque identifier for the client (literally, the pointer to the RPC client structure in the kernel).
-prog- What RPC facility is being invoked, in decimal; NFS is RPC 'program' 100003. You can find out the program numbers most easily with rpcinfo -p.
-timeout The timeout, in jiffies.
-rpcwait What the task is waiting for, if anything.

(The --rqstp-, -action-, and --exit-- fields are better off ignored if you are not debugging the kernel; they are pointers to internal kernel structures. About all you can do with them is see which tasks have the same one.)

Unfortunately, there is no way to map from a particular RPC request to the processes that are waiting on it; the -pid- field is mostly useful for matching things up with any other debugging messages that you have the RPC system produce.

These are my WanderingThoughts
(About the blog)

GettingAround
Full index of entries
Recent comments

This is part of CSpace, and is written by ChrisSiebenmann.

* * *

Atom feeds are available; see the bottom of most pages.

This is a DWiki.
(Help)

Categories: links, linux, programming, python, snark, solaris, spam, sysadmin, tech, unix, web

Search:
Written on 24 April 2008.
(Previous | Next)

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Thu Apr 24 23:14:06 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.