Messages in this thread | | | Date | Fri, 29 Feb 2008 17:38:32 +0530 | From | "K. Prasad" <> | Subject | 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
| |