Thread (28 messages) 28 messages, 5 authors, 2009-11-27

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

From: Peter Zijlstra <peterz@infradead.org>
Date: 2009-11-26 11:23:43
Also in: lkml

On Thu, 2009-11-26 at 11:32 +0100, Peter Zijlstra wrote:
On Thu, 2009-11-26 at 11:29 +0100, Ingo Molnar wrote:
quoted
* Tejun Heo [off-list ref] wrote:
quoted
Rename preempt_notifier to sched_notifier, move it from preempt.h to 
sched.h, drop sched_ prefixes from ops names and make sched_notifier 
always enabled.

This is to prepare for adding more notification hooks.  This patch 
doesn't make any functional changes.
The sched notifiers and the various event notifiers we have in the same 
codepaths should really be unified into a single callback framework.

We have these _5_ callbacks:

....
        perf_event_task_sched_out(prev, next, cpu);
....
        fire_sched_out_notifiers(prev, next);
....
        trace_sched_switch(rq, prev, next);
....
        perf_event_task_sched_in(current, cpu_of(rq));
	fire_sched_in_notifiers(current);
....

That could be done with just two callbacks - one for sched-out, one for 
sched-in.

The best way to do that would be to use two TRACE_EVENT() callbacks, 
make them unconditional and register to them. (with wrappers to make it 
all convenient to use)

This requires some work but needs to be done.
Ugh,.. it also makes TRACE_EVENT unconditional.

That really wants a separate option.. What we could do is take regular
notifier lists and extend them to auto-generate a tracepoint when the
trace stuff is enabled or something.
Also, there is this thing about direct and indirect function calls.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help