public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 0/5] NFS: trace points added to mounting path
@ 2009-01-16 16:22 Steve Dickson
  2009-01-16 16:30 ` [PATCH 3/5] NFS: Adding trace points to nfs/client.c Steve Dickson
                   ` (3 more replies)
  0 siblings, 4 replies; 58+ messages in thread
From: Steve Dickson @ 2009-01-16 16:22 UTC (permalink / raw)
  To: Linux NFSv4 mailing list, Linux NFS Mailing list; +Cc: SystemTAP

Hello,

Very recently patches were added to the mainline kernel that
enabled the use of trace points. This patch series takes
advantage of those patch by introducing trace points 
to the mounting path of NFS mounts. Its hoped these
trace points can be used by system administrators to
identify why NFS mounts are failing or hang in 
production kernels.

IMHO, one general problem with today's "canned" NFS debugging today is it 
becomes very verbose very quickly.... "I get here" and "I get there" type of 
debugging statements. Although they help trace the code but very rarely 
shows/defines what the actual problem was. So what I've try to do is 
"define the error paths" by putting a trace point at every error exit 
in hopes to define where and why things broke. 

So the ultimate goal would be to replace all the dprintks with trace points
but still be able to enable them through the rpcdebug command (although we
might want to think about splitting the command out into three different 
commands nfsdebug, nfsddebug, rpcdebug). Since trace points have very little
overhead, a set of trace points could be enable in production with have
little or no effect on functionality or performance.

Another advantage with trace points is the type and amount of
information that can be retrieved. With these trace points, I'm
passing in the error code as well as the data structure[s] associated
with that error. This allows the "canned" information that IT people
would used (via the rpcdebug command which would turn on a group of
trace points) as well as more detailed information that kernel developers 
can used (via systemtap scripts which would turn on individual trace
points).

Patch summary:
    * fs/nfs/client.c

    * fs/nfs/getroot.c

    * fs/nfs/super.c

      The based files where traces where added.

    * include/trace/nfs.h

    * kernel/trace/Makefile

    * kernel/trace/nfs-trace.c

      The overhead of added the trace points and then converting them
      into trace marks			.

    * samples/nfs/nfs_mount.stp

      The systemtap script used to access the trace marks. I probably
      should have documented the file better, but the first three
      functions in the file are how structures are pulled from the
      kernel. The rest are probes used to active the trace markers.


Comments... Acceptance?? 

steved.



^ permalink raw reply	[flat|nested] 58+ messages in thread

end of thread, other threads:[~2009-01-23 22:22 UTC | newest]

Thread overview: 58+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-16 16:22 [RFC][PATCH 0/5] NFS: trace points added to mounting path Steve Dickson
2009-01-16 16:30 ` [PATCH 3/5] NFS: Adding trace points to nfs/client.c Steve Dickson
2009-01-16 16:32 ` [PATCH 4/5] NFS: Convert trace points to trace markers Steve Dickson
2009-01-16 16:33 ` [PATCH 5/5] NFS: Systemtap script Steve Dickson
     [not found] ` <4970B451.4080201-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-01-16 16:25   ` [PATCH 1/5] NFS: Adding trace points to fs/nfs/getroot.c Steve Dickson
2009-01-16 16:28   ` [PATCH 2/5] NFS: Adding trace points to fs/nfs/super.c Steve Dickson
2009-01-16 18:52   ` [RFC][PATCH 0/5] NFS: trace points added to mounting path Chuck Lever
2009-01-21 17:13     ` Steve Dickson
     [not found]       ` <497757D1.7090908-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-01-21 18:01         ` Chuck Lever
2009-01-21 19:29           ` Trond Myklebust
2009-01-21 19:58             ` Steve Dickson
2009-01-21 20:23               ` Trond Myklebust
2009-01-22 13:07                 ` Steve Dickson
     [not found]                   ` <49786F9F.7030400-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-01-22 15:30                     ` Trond Myklebust
2009-01-22 15:49                       ` Steve Dickson
2009-01-22 17:47                         ` Arnaldo Carvalho de Melo
2009-01-21 19:37           ` Steve Dickson
2009-01-21 20:19             ` Chuck Lever
2009-01-21 22:36               ` Greg Banks
     [not found]                 ` <4977A385.8000406-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2009-01-21 22:47                   ` Arnaldo Carvalho de Melo
2009-01-21 22:57                     ` Trond Myklebust
2009-01-21 23:06                       ` Arnaldo Carvalho de Melo
2009-01-21 22:56                   ` Trond Myklebust
2009-01-21 23:11                     ` Greg Banks
2009-01-21 23:47                       ` Trond Myklebust
2009-01-22  0:53                         ` Frank Ch. Eigler
2009-01-22  2:04                         ` Greg Banks
     [not found]                           ` <4977D431.1020906-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2009-01-22 15:27                             ` Steve Dickson
     [not found]                               ` <49789073.1080200-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-01-22 22:43                                 ` Greg Banks
2009-01-21 22:56                   ` J. Bruce Fields
2009-01-21 23:05                     ` Muntz, Daniel
2009-01-22 15:59                     ` Steve Dickson
2009-01-22 16:45                       ` J. Bruce Fields
2009-01-22 22:54                         ` Greg Banks
     [not found]                           ` <4978F91C.4090208-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2009-01-23 18:09                             ` J. Bruce Fields
2009-01-23 22:18                               ` Greg Banks
2009-01-23 18:17                     ` Chuck Lever
2009-01-22 13:55               ` Steve Dickson
2009-01-22 22:31                 ` Greg Banks
2009-01-21 21:26           ` Greg Banks
2009-01-22 15:19             ` Steve Dickson
2009-01-23 18:28               ` Chuck Lever
2009-01-23 22:21                 ` Greg Banks
2009-01-16 23:44   ` Greg Banks
     [not found]     ` <49711BDF.3010605-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2009-01-17 16:15       ` Frank Ch. Eigler
     [not found]         ` <4972A8F5.7070806@opengridcomputing.com>
2009-01-18 17:47           ` Frank Ch. Eigler
     [not found]         ` <y0mmydpucww.fsf-vo4H8ooykKW2oG+2xah3EoGKTjYczspe@public.gmane.org>
2009-01-18 23:12           ` Greg Banks
     [not found]             ` <4973B777.2000102-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2009-01-19 15:41               ` Frank Ch. Eigler
2009-01-19 23:13                 ` Greg Banks
2009-01-19 14:27       ` Jeff Moyer
     [not found]         ` <x49ab9ntlpp.fsf-RRHT56Q3PSP4kTEheFKJxxDDeQx5vsVwAInAS/Ez/D0@public.gmane.org>
2009-01-19 19:49           ` Jason Baron
2009-01-19 22:58             ` Greg Banks
2009-01-21 10:13           ` K.Prasad
2009-01-21 16:39             ` Steve Dickson
     [not found]               ` <49774FDC.5090307-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-01-21 17:04                 ` Arnaldo Carvalho de Melo
2009-01-21 19:59                   ` Steve Dickson
     [not found]                   ` <20090121170401.GD4394-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2009-01-21 20:39                     ` Christoph Hellwig
2009-01-18 16:40   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox