Re: [RFC PATCHSET] sched,perf: unify tracers in sched and move perf on top of TP

Tejun Heo
2010-05-05T13:10:14Z

Hello,

On 05/05/2010 02:33 PM, Avi Kivity wrote:
> On 05/05/2010 02:38 PM, Peter Zijlstra wrote:
>> As it stands I'd argue to simply drop this whole idea. The SCHED_EVENT()
>> thing doesn't look like its worth the obfuscation and I'm very much
>> opposed to making perf and sched_notifiers rely on tracepoints.
>
> We can make perf rely on sched_notifiers, I think it's exactly the same
> case as kvm - extra cpu state that needs switching at context switch
> time. We could also make fpu switching use sched_notifiers, but that's
> pushing it a bit.

Oh, that was my first attempt too. The difference between TPs and
sched_notifiers is the enable condition. TP is system-wide while
sched_notifier is per-task. The thing is that for perf hooks,
system-wide enable condition works much better. Also, w/
sched_notifiers, there's the problem that no one else but self can
enable/disable it (which can be changed but doing it without causing
call time overhead requires a bit of effort).

Thanks.

--
tejun