Re: [RFC PATCHSET] sched,perf: unify tracers in sched and move perfon top of TP

From: Ingo Molnar
Date: Thu May 06 2010 - 03:12:35 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Thu, 2010-05-06 at 08:31 +0200, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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.

No, but they could be expressed via tracepoints.

> > - sw events
> > - tracepoints
>
> Are unrelated to the core perf scheduler calls.

Still they pose 3 different types of callback regimes, all for a slightly
different purpose.

> > 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.

Yes - but the callbacks i mentioned do include ABIs, such as the sw event
callbacks.

So my point is to have one coherent callback mechanism for it.

That said, i agree with you that turning the basic perf scheduling calls into
events goes one step too far. But all the _other_ 3 types of callbacks (and we
might as well add a fourth type as well: the butt-ugly hotplug event notifier
chains) should be consolidated really.

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