Re: [RFC PATCH] dynamic debug - adding ring buffer storage support

From: Ingo Molnar
Date: Tue Jan 05 2010 - 01:06:00 EST



* Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:

> On Mon, Dec 28, 2009 at 10:24:02AM +0100, Ingo Molnar wrote:
> > > that way you need to enable tracing as well... but thats ok I guess :)
> > >
> > > I was investigating trace events for this, but did not find a way
> > > to put variable length argument inside... and I overlooked the
> > > trace_printk, I'll look on it and see how it fits, thanks
> > >
> > > also having separate ring buffer makes the 'trace'/'trace_pipe' code
> > > really simple (suprissingly) compared to ftrace, and I thought
> > > on this place it could last for some time.. ;)
> >
> > I think what we want is a unified channel of events, of which printk (and
> > dynamic-printk) is one form. I.e. we should add printk events and
> > dynamic-printk events as well, which would show up in /debug/tracing/events/
> > in a standard ftrace event form and would be accessible to tooling that way.
> >
> > For printk a single event would be enough i suspect (we dont want a separate
> > event for every printk), and for dynamic-printk we want to map the existing
> > dyn-printk topologies into /debug/tracing/events, to preserve the distinctions
> > and controls available there.
> >
> > This way in the long run we'd have one unified facility.
> >
> > Ingo
>
>
> That said, I sometimes dream about one event per printk.

Yeah - but it's only really useful if we could properly encode/extract the
record format as well.

The one person's printk would become another person's programmable tracepoint.

> Too bad that would bloat the memory.

Should be optional of course, and then developers/distros pick instrumentation
landscape winners/losers. To most people memory overhead is not a big issue,
if the result is sufficiently useful.

Ingo
--
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/