lkml.org 
[lkml]   [2011]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/1] perf tools: Add missing user space support for config1/config2

    * Andi Kleen <ak@linux.intel.com> wrote:

    > On Fri, Apr 22, 2011 at 08:34:29AM +0200, Ingo Molnar wrote:
    > > This needs to be a *lot* more user friendly. Users do not want to type in
    > > stupid hexa magic numbers to get profiling. We have moved beyond the oprofile
    > > era really.
    >
    > I agree that the raw events are quite user unfriendly.
    >
    > Unfortunately they are the way of life in perf -- unlike oprofile --
    > currently if you want any CPU specific events like this.

    Not sure where you take that blanket statement from, but no, raw events are not
    really the 'way of life' - judging by the various user feedback we get they
    come up pretty rarely.

    The thing is, most people just use the default 'perf record' and that's it -
    they do not even care about a *single* event - they just want to profile their
    code somehow.

    Then the second most popular event category are the generalized events, the
    ones you can see in perf list output:

    cpu-cycles OR cycles [Hardware event]
    instructions [Hardware event]
    cache-references [Hardware event]
    cache-misses [Hardware event]
    branch-instructions OR branches [Hardware event]
    branch-misses [Hardware event]
    bus-cycles [Hardware event]

    cpu-clock [Software event]
    task-clock [Software event]
    page-faults OR faults [Software event]
    minor-faults [Software event]
    major-faults [Software event]
    context-switches OR cs [Software event]
    cpu-migrations OR migrations [Software event]
    alignment-faults [Software event]
    emulation-faults [Software event]

    L1-dcache-loads [Hardware cache event]
    L1-dcache-load-misses [Hardware cache event]
    L1-dcache-stores [Hardware cache event]
    L1-dcache-store-misses [Hardware cache event]
    L1-dcache-prefetches [Hardware cache event]
    L1-dcache-prefetch-misses [Hardware cache event]
    L1-icache-loads [Hardware cache event]
    L1-icache-load-misses [Hardware cache event]
    L1-icache-prefetches [Hardware cache event]
    L1-icache-prefetch-misses [Hardware cache event]
    LLC-loads [Hardware cache event]
    LLC-load-misses [Hardware cache event]
    LLC-stores [Hardware cache event]
    LLC-store-misses [Hardware cache event]
    LLC-prefetches [Hardware cache event]
    LLC-prefetch-misses [Hardware cache event]
    dTLB-loads [Hardware cache event]
    dTLB-load-misses [Hardware cache event]
    dTLB-stores [Hardware cache event]
    dTLB-store-misses [Hardware cache event]
    dTLB-prefetches [Hardware cache event]
    dTLB-prefetch-misses [Hardware cache event]
    iTLB-loads [Hardware cache event]
    iTLB-load-misses [Hardware cache event]
    branch-loads [Hardware cache event]
    branch-load-misses [Hardware cache event]

    These are useful but are used less frequently.

    Then come tracepoint based events - and as a distant last, come raw events.
    Yes, they raw events are useful occasionally, just like modifying applications
    via a hexa editor is useful occasionally. If done often we better abstract it
    out.

    > Really to make sense out of all this you need per CPU full event lists.

    To make sense out of what? You are making very sweeping yet vague statements.

    > I have an own wrapper to make it more user friendly, but its functionality
    > should arguably migrate into perf.

    Uhm, no - your patch seem to reintroduce oprofile's horrible events files. We
    really learned from that mistake and do not want to step back ...

    Please see the detailed mails i wrote in this thread, what we want is to extend
    and improve existing generalizations of events. The useful bits of the offcore
    PMU fit nicely into that scheme.

    Thanks,

    Ingo


    \
     
     \ /
      Last update: 2011-04-22 21:57    [W:3.272 / U:0.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site