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

From: Tejun Heo <[email-masked]>
Date: Fri, 27 Nov 2009 14:38:37 +0900

Hello,

11/27/2009 01:52 PM, Ingo Molnar wrote:
> 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.

Scheduler callbacks won't benefit much from it.  There will always be
workqueues and thus conditional branch will always be necessary.

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

The patches in question don't really change anything in in/out paths.
It only adds wake up and sleep callbacks to the existing notifier
mechanism.  Sure, let's unify all of them and make them prettier and
more efficient but I don't think we need to hold up workqueue changes
for that, right?  We can do those in separate steps and have workqueue
changes tested in at least linux-next.

I'll re-post four scheduler patches which reorganize preempt notifier
but make no functional changes and another one to add wakeup and
sleep.  The first four can go into sched/core and the last one in a
separate branch.  That way, conflicts will be minimal yet upstream
won't see any functional difference from the current code.  Later when
notifier frameworks is reworked, we can merge them all up and send
them upstream.  How does it sound?

Thanks.

-- 
tejun