[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091230225011.GJ6322@nowhere>
Date: Wed, 30 Dec 2009 23:50:13 +0100
From: Frederic Weisbecker <fweisbec@...il.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Jiri Olsa <jolsa@...hat.com>, Jason Baron <jbaron@...hat.com>,
rostedt@...dmis.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] dynamic debug - adding ring buffer storage support
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.
Having, say:
/debug/tracing/events/printk/
|
---- kernel/
| |
| ------- time/
| | |
| | ---- clocksource.c
| | |
| | --- clocksource_unstable:218/
| | | |
| | | ---- format
| | | |
| | | ---- filter
| | | |
| | | ---- enable
| | --- [...]
| ------- [...]
|
---- drivers/
| |
| ---- [...]
|
---- [...]
That would give a total control over every printk, trace_printk, etc...
Too bad that would bloat the memory.
Well, that could be wrapped in a single, wildly implemented (understand:
not using TRACE_EVENT macro) trace event, something able to walk through
every calls of printk, trace_printk, early_printk, etc... and imitate
a per printk event granularity.
But still it needs to be useful...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists