Re: [PATCH 1/4 tip/sched/core] sched: rename preempt_notifier tosched_notifier and always enable it

From: Ingo Molnar
Date: Thu Nov 26 2009 - 23:53:34 EST



* Tejun Heo <tj@xxxxxxxxxx> wrote:

> Hello, Peter, Ingo.
>
> 11/26/2009 09:40 PM, Peter Zijlstra wrote:
> > CALLBACK_EVENT() would be my preferred name, and shouldn't live anywhere
> > near the regular tracing bits, the tracing bits could simply add another
> > callback in it when enabled.
>
> I haven't looked at the mm code but if the scheduler callback
> requirement isn't gonna explode big time soon and we know which
> functions are the candidate callbacks at build time, I think this can
> be done pretty efficiently with an ulong enable mask per task and
> fixed function dispatch such that no callback case just goes through
> one likely() conditional test at the tracing point and callback cases
> are dispatched using conditional direct jump.

Yes - and that's what the tracepoints infrastructure is about.

Btw., longer term it will be faster than a mask check and a
default-untaken conditional: there's ongoign work to offer runtime
instruction patching features for tracing callbacks. There's the jump
patching optimization and also the immediate values patching
optimization.

We've got old-style notifiers for regular callbacks, we've got new-style
tracepoints which are callbacks and event source descriptors - and what
i'm asking for is to have _one_ callback mechanism, and to use that in
the scheduler. 5 callbacks using 3 different facilities is excessive -
i'd like to see just two callbacks using one facility.

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/