lkml.org 
[lkml]   [2011]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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.


    \
     
     \ /
      Last update: 2011-04-12 17:51    [W:0.034 / U:0.104 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site