* 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-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html