From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Christoph Hellwig <hch@lst.de>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
cbe-oss-dev@ozlabs.org, srostedt@redhat.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH, RFC] sputrace: use the generic event tracer
Date: Wed, 6 May 2009 18:53:37 +0200 [thread overview]
Message-ID: <20090506165336.GC5997@nowhere> (raw)
In-Reply-To: <20090506105748.GE25203@elte.hu>
On Wed, May 06, 2009 at 12:57:48PM +0200, Ingo Molnar wrote:
>
> (Note: please Cc all tracing related patches to lkml.)
>
> * Christoph Hellwig <hch@lst.de> wrote:
>
> > I wrote sputrace before generic tracing infrastrucure was
> > available. Now that we have the generic event tracer we can
> > convert it over and remove a lot of code:
> >
> > 8 files changed, 45 insertions(+), 285 deletions(-)
>
> Nice! Needs also an Ack from PowerPC folks before we can do this.
> The cross section to other powerpc code seems to be rather low.
>
> A few comments:
>
> > To use it make sure CONFIG_EVENT_TRACING is enabled and then enable
> > the spufs trace channel by
> >
> > echo 1 > /sys/kernel/debug/tracing/events/spufs/spufs_context
> >
> > and then read the trace records using e.g.
> >
> > cat /sys/kernel/debug/tracing/trace
> >
> >
> > Note that the patch is ontop of the current tracing tree
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git#tracing/ftrace
> >
> > as there have been some TRACE_EVENT changes in there that aren't in
> > mainline yet.
> >
> > I don't have any cell hardware anymore so this is only compile tested.
> >
> >
> > Signed-off-by: Christoph Hellwig <hch@lst.de>
> >
> > Index: linux-2.6-tip/arch/powerpc/platforms/cell/spufs/sputrace.h
> > ===================================================================
> > --- /dev/null 1970-01-01 00:00:00.000000000 +0000
> > +++ linux-2.6-tip/arch/powerpc/platforms/cell/spufs/sputrace.h 2009-05-06 10:17:20.000000000 +0000
> > @@ -0,0 +1,39 @@
> > +#if !defined(_TRACE_SPUFS_H) || defined(TRACE_HEADER_MULTI_READ)
> > +#define _TRACE_SPUFS_H
> > +
> > +#include <linux/tracepoint.h>
> > +
> > +#undef TRACE_SYSTEM
> > +#define TRACE_SYSTEM spufs
> > +
> > +TRACE_EVENT(spufs_context,
> > + TP_PROTO(struct spu_context *ctx, struct spu *spu, const char *name),
> > + TP_ARGS(ctx, spu, name),
> > +
> > + TP_STRUCT__entry(
> > + __field(int, owner_tid)
> > + __field(const char *, name)
Christoph,
I don't know much the code you are tracing. But it is rare that
a const char * is safe on tracing. Still it could be, you just have to
ensure the string cannot be freed in any way because this pointer
will be stored in the ring buffer and it can be read and dereferenced later
in a random time, could be several years :-)
So if this pointer references built-in data, no problem with that.
But if it can freed (comes from a module, __initdata, ...), then
you should use the __string() field which does an strcpy on the
ring buffer.
If you think this is safe, then it's the best choice because
storing a pointer is of course less costly than an strcpy.
If so I will add the support for char * in the filters (trivial).
Thanks,
Frederic.
next prev parent reply other threads:[~2009-05-06 16:53 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090506102918.GA23278@lst.de>
2009-05-06 10:57 ` [PATCH, RFC] sputrace: use the generic event tracer Ingo Molnar
2009-05-06 11:02 ` Christoph Hellwig
2009-05-06 11:23 ` Ingo Molnar
2009-05-06 13:54 ` Steven Rostedt
2009-05-06 14:47 ` Ingo Molnar
2009-05-06 14:59 ` Steven Rostedt
2009-05-06 16:53 ` Frederic Weisbecker [this message]
2009-05-06 17:13 ` Christoph Hellwig
2009-05-06 19:05 ` Steven Rostedt
2009-05-10 19:07 ` [Cbe-oss-dev] " Christoph Hellwig
2009-05-06 10:58 ` 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=20090506165336.GC5997@nowhere \
--to=fweisbec@gmail.com \
--cc=benh@kernel.crashing.org \
--cc=cbe-oss-dev@ozlabs.org \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=srostedt@redhat.com \
/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