Messages in this thread | | | Subject | Re: [RFC PATCHSET] sched,perf: unify tracers in sched and move perf on top of TP | From | Peter Zijlstra <> | Date | Wed, 05 May 2010 13:38:08 +0200 |
| |
On Wed, 2010-05-05 at 11:54 +0200, Tejun Heo wrote: > Hello, > > On 05/05/2010 11:51 AM, Peter Zijlstra wrote: > >> I was wondering the other way around - ie. the possibility to make > >> perf optional and maybe even as a module which depends on TPs, which > >> would be nicer than the current situation and make the code less > >> cluttered too. > > > > I really really hate making perf rely on tracepoints. > > Hmmm.... may I ask why?
Because it will bloat the kernel for no reason. And I don't like the endless indirections either.
Like said, I already really dislike x86 won't even build without CONFIG_PERF_EVENTS, adding a hard requirement on TRACEEVENTS will only make the whole thing even worse.
Sure, most distro configs will include both perf and tracepoints, but I don't want to burden everybody who wants to use perf with the tracepoint overhead.
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.
I don't see the few direct functions calls we have now as a big problem and it sure as hell is a lot easier to read than the whole tracepoint indirection mess.
If you care about the call overhead of the perf hooks, we can do the same immediate value optimization to them as would be done to the tracepoints.
| |