Re: [RFC][PATCH 0/5] NFS: trace points added to mounting path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi -

On Sat, Jan 17, 2009 at 09:58:45PM -0600, Tom Tucker wrote:
> [...]
> >>I have a patch which changes the definition of the dprintk() macro
> >>(but *not* dprintk() callsites) to allow enabling and disabling
> >>individual dprintk() statements through a /proc/ interface.  Would
> >>you be interested in that?
> >
> >It would make more sense to me to turn dprintk's into trace_marks, then
> >use http://lkml.org/lkml/2008/12/30/297 to control transmission of the
> >data to ftrace.

> [...]
> That said, and sorry for my ignorance on trace markers, but:
> 
> - Could you describe how we would define "classes" of trace markers. I 
> certainly don't want to have to turn on and off each call-site 
> individually. How would these classes be different than adding more bits 
> to the current rpc_debug mechanism?

You're well prepared to reuse the classes you already have - see below.


> - From Steve's patches, it's not obvious to me how we would convert 
> dprintk to trace markers without visiting every single call site. Can 
> the current macros be munged to use the trace marker interfaces without 
> losing debug information?

The minimal possibility is to just do something like this:

    #define dprintk(format...) trace_mark(nfs_message, format)

Or for the dfprintk that includes the facility symbol:

    #define dfprintk(facility,format...) trace_mark (nfs_#facility, format)

The result would be to have one marker family for each
{RPC,NFS,...}DBG_* type - or any other "facility" symbol you invent on
the spot.  All members of each family can be enabled by attaching a
marker handler to the "nfs_FACILITY" name.  With Lai's markers->ftrace
proposed patch, this would be done from user-space by something like:

   echo -n 'nfs_FACILITY' > /debugfs/tracing/tracing_markers

(You can take away the nfs_ prefix if you like.)

> - What is the overhead of an "inactive" trace marker in data size
> and execution time relative to a dprintk?

It should be similar.  The global {nfs,rpc,...}_debug numbers could go
away and just rely on the marker's built-in on/off control API.

> - What is the overhead of an "active" trace marker in data size and 
> execution time relative to a dprintk?

If the markers end up being channeled to the ftrace buffers, it should
be significantly lighter-weight than sending them to printk.  If some
other marker consumer connects also or instead, it depends on what
that does.


- FChE

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux