Messages in this thread | | | Date | Tue, 12 Apr 2011 17:48:53 +0200 | From | Frederic Weisbecker <> | Subject | Re: [PATCH] perf: Don't schedule tracepoints when exclude_kernel is set |
| |
On Sat, Apr 09, 2011 at 03:37:42PM +0200, Peter Zijlstra wrote: > On Sat, 2011-04-09 at 15:27 +0200, Frederic Weisbecker wrote: > > On Sat, Apr 09, 2011 at 03:14:44PM +0200, Peter Zijlstra wrote: > > > On Fri, 2011-04-08 at 22:57 +0200, Frederic Weisbecker wrote: > > > > Instead of checking attr.exclude_kernel anytime a tracepoint > > > > event triggers, simply don't schedule the tracepoint it that > > > > attribute is set. This makes one test less in the tracing > > > > path. > > > > > > Meh, I'd much rather someone spend some time on finishing the below, > > > which is a much bigger improvement for trace-events. > > > > I secretely added that to my pile already :) > > That's indeed something we really want. > > > > The above is just a little thing I noticed yesterday and I wanted > > to fix. Nothing more. > > > > About that tracepoint collection, I'm not sure I like the idr though. > > That thing seems to be O(log(n)), I which we can rather approach O(1) > > when possible, using a hlist perhaps. > > We only do 2 idr lookups at most and don't get to muck about with hash > table collisions etc. But if you can show that that is the bottleneck > you can replace the task/cpu idrs with a hashtable.
We can probably start with the irds to begin with. The implementation can be enhanced anytime.
> > You will still need an IDR to deal with the traceevents (trace_type_idr) > in order to get the dense ID space, and the per-event idr isn't used in > the fast path at all.
Yep, no problem with that.
| |