Re: [PATCH 1/4 tip/sched/core] sched: rename preempt_notifier to sched_notifier and always enable it
From: Ingo Molnar <hidden>
Date: 2009-11-27 04:53:08
Also in:
lkml
* Tejun Heo [off-list ref] wrote:
Hello, Peter, Ingo. 11/26/2009 09:40 PM, Peter Zijlstra wrote:quoted
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