Re: Unified tracing buffer

From: Mathieu Desnoyers
Date: Mon Sep 22 2008 - 14:52:22 EST


* Arjan van de Ven (arjan@xxxxxxxxxxxxx) wrote:
> On Sat, 20 Sep 2008 09:55:48 -0400
> Mathieu Desnoyers <compudj@xxxxxxxxxxxxxxxxxx> wrote:
>
> > How about :
> >
> > trace_mark(ftrace_evname, "size %lu binary %pW",
> > sizeof(mystruct), mystruct);
> > or
> > trace_mark(sched_wakeup, "target_pid %ld", task->pid);
> >
> > Note the namespacing with buffers being "ftrace" and "sched" here.
> >
> > That would encapsulate the whole
> > - Event ID registration
> > - Event type registration
> > - Sending data out
> > - Enabling the event source directly at the source
> >
> > We can then export the markers through a debugfs file and let userland
> > enable them one by one and possibly connect systemtap filters on them
> > (one table of registered filters, one table for the markers, a command
> > file to connect/disconnect filters to/from markers).
>
> I would like to ask for the following from the start: have a field for
> a longer description of the marker that describes it's usage and
> context. Getting this there from the start is critical, because only
> when adding the marker point do people still really remember why/what
> (and having to type a good description also helps them to realize if
> this is the right point or not). This can then be exposed to the user
> so he has a standing chance of knowing what the marker is about.
>
> It also has a standing chance of being updated when the code changes
> this way
>

I agree, and I think it might be required in both markers and
tracepoints.

Given that tracepoints are declared in a global header
(DECLARE_TRACE()), I would add this kind of description here. Tracepoint
uses within the kernel code (statements like :
trace_sched_switch(prev, next);
added to the scheduler) would therefore be tied to the description
without having to contain it in the core kernel code.

Markers, on the other hand, could become the "event description"
interface which is exported to userspace. Considering that, I guess it's
as important to let a precise description follow the markers.

Mathieu


> --
> Arjan van de Ven Intel Open Source Technology Centre
> For development, discussion and tips for power savings,
> visit http://www.lesswatts.org
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/