From: Peter Zijlstra on
On Thu, 2010-05-06 at 08:31 +0200, Ingo Molnar wrote:
> * Peter Zijlstra <peterz(a)infradead.org> wrote:
>
> > Well, I'd much rather just see a direct call in the code than having to
> > reverse engineer wth hangs onto that _EVENT() junk.
>
> Direct calls into code were fine 10 years ago, but since then we got:
>
> - preempt notifiers

Are per task an no good for driving perf.

> - sw events
> - tracepoints

Are unrelated to the core perf scheduler calls.

> Which add up to a lot more than just a plain call into code.
>
> Also, with the jump-optimizations we will have tracepoints that are _cheaper_
> than a plain function call.

Which can just as easily be used on the core perf hooks.

> > Also, we don't need ABI muck for this.
>
> we already have an ABIs in place here - this would just properly unify and
> enumerate it.

I'm not getting it, this is about in-kernel stuff, there are _NO_ in
kernel ABIs.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Paul Mackerras on
On Wed, May 05, 2010 at 11:54:52AM +0200, Tejun Heo wrote:

> On 05/05/2010 11:51 AM, Peter Zijlstra wrote:
> >> I was wondering the other way around - ie. the possibility to make
> >> perf optional and maybe even as a module which depends on TPs, which
> >> would be nicer than the current situation and make the code less
> >> cluttered too.
> >
> > I really really hate making perf rely on tracepoints.
>
> Hmmm.... may I ask why? Unifying hooking mechanism seems like a good
> idea to me and it's not like it's gonna add any runtime overhead
> although it does complicate init/exit but well that's something you
> have to pay if you wanna do things dynamically and sans the ifdef
> stuff it's like a couple hundred lines of isolated code.

Don't forget where perf_events started out - as a way to count and
record hardware events. So perf_events is very useful even in a
kernel that has no tracing infrastructure configured in at all.

Paul.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/