From: Ingo Molnar <mingo@elte.hu>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Jason Baron <jbaron@redhat.com>,
rostedt@goodmis.org, fweisbec@gmail.com,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH] dynamic debug - adding ring buffer storage support
Date: Mon, 28 Dec 2009 10:24:02 +0100 [thread overview]
Message-ID: <20091228092402.GD24690@elte.hu> (raw)
In-Reply-To: <20091222161353.GB20225@jolsa.lab.eng.brq.redhat.com>
* Jiri Olsa <jolsa@redhat.com> wrote:
> On Tue, Dec 22, 2009 at 10:39:56AM -0500, Jason Baron wrote:
> > On Tue, Dec 22, 2009 at 12:32:06PM +0100, Jiri Olsa wrote:
> > > Hi,
> > >
> > > as I use dynamic debug sometimes, I thought it could be useful having
> > > the possibility to store the output somewhere else than dmesg.
> > >
> > > The attached patch implements support for storing dynamic debug
> > > messages to the ring buffer.
> > >
> > > The dynamic debug allows simple addition of new flags,
> > > so I added 'r' flag for ring buffer storage.
> > >
> > > I used the ring buffer implementation from trace framework.
> > >
> > > hopefuly this could be any use for others as well...
> > > plz let me know what you think,
> > >
> > > jirka
> > >
> >
> > hi,
> >
> > I like the idea of using the ring buffer for output. However, I'm not
> > sure why we need a separate one for this. I like adding the 'r' for ring
> > buffer storage, by why not just make this path call 'trace_printk()', and
> > store the string in the existing kernel tracing ring buffer? That way it
> > can interleave with other trace data as well.
>
> 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
next prev parent reply other threads:[~2009-12-28 9:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-22 11:32 [RFC PATCH] dynamic debug - adding ring buffer storage support Jiri Olsa
2009-12-22 12:06 ` Andi Kleen
2009-12-22 15:28 ` Jiri Olsa
2009-12-22 15:39 ` Jason Baron
2009-12-22 16:13 ` Jiri Olsa
2009-12-28 9:24 ` Ingo Molnar [this message]
2009-12-30 22:50 ` Frederic Weisbecker
2009-12-31 1:44 ` Steven Rostedt
2010-01-05 15:14 ` Jason Baron
2010-01-05 6:05 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091228092402.GD24690@elte.hu \
--to=mingo@elte.hu \
--cc=fweisbec@gmail.com \
--cc=jbaron@redhat.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox