lkml.org 
[lkml]   [2010]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: disabling group leader perf_event
From
Date
On Mon, 2010-09-06 at 14:58 +0300, Avi Kivity wrote:
> On 09/06/2010 02:54 PM, Peter Zijlstra wrote:
> >
> >> Basically, to read() all events in one go. I have many of them.
> >>
> >> My current problem is that I have an event (kvm_exit) which I want to
> >> drill down by looking at a field (exit_reason). So I create lots of
> >> separate perf_events with a filter for each reason:
> >> kvm_exit(exit_reason==0), kvm_exit(exit_reason==1), etc. But filters
> >> are fairly slow (can have ~60 such events on AMD), so I want to make
> >> this drill-down optional.
> > Yeah, filters suck.
>
> Any idea why? I saw nothing obvious in the code, except that there is
> lots of it.

It filters after it does all the hard work of creating the trace event,
instead of before.

> > So what you're basically trying to do is create some histogram of
> > exit_reason?
>
> Yes, exactly.

One thing I thought of, you can use the unfiltered kvm_exit event as
leader, that will give you the total number of events, which, esp. when
you create partial histograms, is useful to figure out how much you
missed.

You can individually disable/enable !leader siblings.

> (one other issue - right now I'm using cpu events. If I switch to task
> events, I lose events generated by workqueues, yes?)

Right, those have their own tasks.


\
 
 \ /
  Last update: 2010-09-06 14:33    [W:0.060 / U:0.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site