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:34 +0300, Avi Kivity wrote:
    > On 09/06/2010 02:24 PM, Peter Zijlstra wrote:
    > > On Mon, 2010-09-06 at 12:12 +0300, Avi Kivity wrote:
    > >> If I read the code correctly, disabling a group leader perf_event will
    > >> disable the entire group.
    > >>
    > >> Is this correct?
    > > Yeah, pretty much.
    >
    > Well, I never liked group_leader style APIs. I like different types for
    > the container and the contained. But such is not unix.
    >
    > >> If so, how can I disable just the event itself? Can I allocate a dummy
    > >> invent for the group leader so I can enable and disable each perf_event
    > >> in the group individually?
    > > Which makes me wonder why you use groups in the first place.
    >
    > 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.

    So what you're basically trying to do is create some histogram of
    exit_reason?

    Being able to make histograms in-kernel has been on the todo list for a
    long while, its just that I never could come up with a sane
    interface.. :/

    > Current plan is to have a group for the basic events and another group
    > for the drilldown events (each per-cpu), and activate the drilldown
    > group on user request. perf will be able to schedule both groups
    > concurrently since they only contain tracepoints, yes?

    More or less, yeah (the scheduling of software and hardware events isn't
    properly separated atm -- am working on that). Software events have no
    scheduling constraints and should always get scheduled.




    \
     
     \ /
      Last update: 2010-09-06 13:57    [W:0.025 / U:2.928 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site