From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Paul Mackerras <paulus@samba.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: [RFC][PATCH 2/3] perf: Take a hot regs snapshot for trace events
Date: Thu, 4 Mar 2010 16:36:06 +0100 [thread overview]
Message-ID: <20100304153606.GA32496@elte.hu> (raw)
In-Reply-To: <1267715801.10871.191.camel@gandalf.stny.rr.com>
* Steven Rostedt <rostedt@goodmis.org> wrote:
> On Thu, 2010-03-04 at 12:25 +0100, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > > On Wed, 2010-03-03 at 12:07 -0500, Steven Rostedt wrote:
> > > > oops, my bad :-), I thought this was in the x86 arch directory. For the
> > > > University, I was helping them with adding trace points for page faults
> > > > when I came across this in arch/x86/mm/fault.c:
> > > >
> > > > perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, 0, regs, address);
> > > >
> > > >
> > > > This is what I actually was wondering about. Why is it a "perf only" trace
> > > > point instead of a TRACE_EVENT()?
> > >
> > > Because I wanted to make perf usable without having to rely on funny
> > > tracepoints. That is, I am less worried about committing software counters
> > > to ABI than I am about TRACE_EVENT(), which still gives me a terribly
> > > uncomfortable feeling.
> >
> > I'd still like a much less error-prone and work-intense way of doing it.
> >
> > I'd suggest we simply add a TRACE_EVENT_ABI() for such cases, where we
> > really want to expose a tracepoint to tooling, programmatically. Maybe
> > even change the usage sites to trace_foo_ABI(), to make it really clear
> > and to make people aware of the consequences.
>
> Would this still be available as a normal trace event?
Yeah, of course. It would not result in any usage or flexibility restriction.
( In the future we might want to add some sort of automated signature thing to
make sure that an event that has been declared an 'ABI' isnt changed - at
least as far as the record format goes. )
> >
> > > Also, building with all CONFIG_TRACE_*=n will still yield a usable perf,
> > > which is something the embedded people might fancy, all that TRACE stuff
> > > adds lots of code.
> >
> > Not a real issue i suspect when you do lock profiling ...
> >
> > Or if it is, some debloating might be in order - and the detaching of event
> > enumeration and ftrace TRACE_EVENT infrastructure from other ftrace bits. (i
> > suggested an '/eventfs' special filesystem before, for nicely layed out
> > hierarchy of ftrace/perf events.)
>
> Actually, we already have a way to decouple it.
>
> include/trace/define_trace.h is the file that just adds the tracepoint
> that is needed.
>
> include/trace/ftrace.h is the file that does the magic and adds the code
> for callbacks and tracing.
>
> The perf hooks probably should not have gone in that file and been put
> into a include/trace/perf.h file, and then in define_trace.h we would
> add:
>
> #ifdef CONFIG_EVENT_TRACING
> #include <trace/ftrace.h>
> #endif
>
> +#ifdef CONFIG_PERF_EVENTS
> +#include <trace/perf.h>
> +#endif
>
> This should be done anyway. But it would also let you decouple ftrace trace
> events from perf trace events but still let the two use the same trace
> points.
I think the main thing would be to have a decoupled /eventfs - basically
/debug/tracing/events/ moved to "/eventfs" or maybe to "/proc/events/". This
would make them available more widely, and in a standardized way.
Thanks,
Ingo
next prev parent reply other threads:[~2010-03-04 15:42 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-03 6:54 [GIT PULL] perf updates Frederic Weisbecker
2010-03-03 6:55 ` [PATCH 1/3] lockdep: Move lock events under lockdep recursion protection Frederic Weisbecker
2010-03-09 7:18 ` Hitoshi Mitake
2010-03-10 0:10 ` Frederic Weisbecker
2010-03-09 8:34 ` Jens Axboe
2010-03-09 8:35 ` Jens Axboe
2010-03-10 0:05 ` Frederic Weisbecker
2010-03-10 15:45 ` Peter Zijlstra
2010-03-10 15:56 ` Jens Axboe
2010-03-10 15:55 ` Jens Axboe
2010-03-09 23:45 ` Frederic Weisbecker
2010-03-10 15:55 ` Jens Axboe
2010-03-03 6:55 ` [RFC][PATCH 2/3] perf: Take a hot regs snapshot for trace events Frederic Weisbecker
2010-03-03 8:38 ` Peter Zijlstra
2010-03-03 20:07 ` Frederic Weisbecker
2010-03-04 19:01 ` Frederic Weisbecker
2010-03-05 3:08 ` [PATCH 0/2] Perf " Frederic Weisbecker
2010-03-05 3:08 ` [PATCH 1/2] perf: Introduce new perf_save_regs() for hot regs snapshot Frederic Weisbecker
2010-03-05 3:08 ` Frederic Weisbecker
2010-03-05 3:08 ` Frederic Weisbecker
2010-03-05 15:08 ` Masami Hiramatsu
2010-03-05 16:38 ` Frederic Weisbecker
2010-03-05 17:08 ` Masami Hiramatsu
2010-03-05 17:17 ` Frederic Weisbecker
2010-03-05 20:55 ` [PATCH 1/2] perf: Introduce new perf_fetch_caller_regs() " Frederic Weisbecker
2010-03-05 20:55 ` Frederic Weisbecker
2010-03-05 20:55 ` Frederic Weisbecker
2010-03-05 20:55 ` [PATCH 2/2] perf: Take a hot regs snapshot for trace events Frederic Weisbecker
2010-03-05 20:55 ` Frederic Weisbecker
2010-03-05 20:55 ` Frederic Weisbecker
2010-03-05 3:08 ` Frederic Weisbecker
2010-03-05 3:08 ` Frederic Weisbecker
2010-03-05 3:08 ` Frederic Weisbecker
2010-03-03 16:06 ` [RFC][PATCH 2/3] " Steven Rostedt
2010-03-03 16:37 ` Peter Zijlstra
2010-03-03 17:07 ` Steven Rostedt
2010-03-03 17:16 ` Peter Zijlstra
2010-03-03 17:45 ` Steven Rostedt
2010-03-03 20:37 ` Frederic Weisbecker
2010-03-04 11:25 ` Ingo Molnar
2010-03-04 15:16 ` Steven Rostedt
2010-03-04 15:36 ` Ingo Molnar [this message]
2010-03-04 15:55 ` Steven Rostedt
2010-03-04 21:17 ` Ingo Molnar
2010-03-04 21:30 ` Steven Rostedt
2010-03-04 21:37 ` Frederic Weisbecker
2010-03-04 21:52 ` Thomas Gleixner
2010-03-04 22:01 ` Frederic Weisbecker
2010-03-04 22:02 ` Steven Rostedt
2010-03-04 22:09 ` Frederic Weisbecker
2010-03-03 6:55 ` [PATCH 3/3] perf/x86-64: Use frame pointer to walk on irq and process stacks Frederic Weisbecker
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=20100304153606.GA32496@elte.hu \
--to=mingo@elte.hu \
--cc=acme@redhat.com \
--cc=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.