This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/3] A kernel tracing interface


On Fri, Feb 29, 2008 at 11:06:05AM +0530, K. Prasad wrote:
> On Thu, Feb 28, 2008 at 11:40:21AM -0800, David Wilder wrote:
> > Andrew Morton wrote:
> > >On Tue, 26 Feb 2008 14:38:37 -0800 "David J. Wilder" <dwilder@us.ibm.com> 
> > >wrote:
> > >
> > >>These patches provide a kernel tracing interface called "trace".
> > >>
> > >>ChangeLog:
> > >>-Updated to 2.6.25-rc2-mm1
> > >>-Removed sem_watch example, to hard to maintain.
> > >>-Added a new example that demonstrates per-cpu continuous tracing
> > >> of data generated using marker probes.
> > >>-Removed inline from relay patch.
> > >>-Moved examples into /sample directory.
> > >>
> > >>The motivation for "trace" is to:
> > >>- Provide a simple set of tracing primitives that will utilize the high-
> > >>  performance and low-overhead of relayfs for passing traces data from
> > >>  kernel to user space.
> > >>- Provide a common user interface for managing kernel traces.
> > >>- Allow for binary as well as ascii trace data.
> > >>- Incorporate features from the systemtap runtime that are
> > >>  useful to others.
> > >
> > >So... what's the story on this versus lttng?
> > 
> > Trace is simpler to use and a smaller bit of code than lttng.
> > It may not have all the features of lttng but it is good starting point 
> > that can be expanded upon.  I have several users of trace that just 
> > wanted a simple way to get data out of the kernel without the overhead 
> > of lttng trace is working well for them.  Trace also works well with 
> > markers and kprobes.  For example systemtap is is using the basic trace 
> > code to gather data from kprobes and markers.
> > >
> > >Is there some userspace code available for people to test this?  Maybe it's
> > >mentioned and I missed it.
> > 
> > I purposely designed trace so no special user code is required to gather 
> > trace data. Standard user utilities like cat, grep, sort and more is all 
> > that is needed.  I show an example in /samples/trace/fork_trace.c.
> > 
> > However since trace uses relay as its transport any user interfaces 
> > provided by relay can be used to read trace data. (documented in 
> > /Documentation/relay.txt)
> > 
> > >
> > >It'd be interesting to see a writeup of the proposed kernel<->userspace
> > >interfaces.  I see a description of kernel-internal interfaces, but how do
> > >users use it?
> > 
> > I will add some text in the documentation.
> > >
> > >I see it uses things from blktrace.  Can blktrace be switched over to being
> > >a client of this code?
> > 
> > yep.
> >
> Dave,
> 	I might also want to add to the discussion by stating that you
> will find a user for the 'trace' infrastructure in the marker handler 
> code of the proposed markers for futex subsystem. I hope to post the 
> patches soon to the community.
>
Also to let you know that I tested the patches (sent against
2.6.25-rc2-mm1) on a x86 machine and they've been working fine....

Thanks,
K.Prasad


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]