• Agustin Vega-Frias's avatar
    perf pmu: Display pmu name when printing unmerged events in stat · 8c5421c0
    Agustin Vega-Frias authored
    To simplify creation of events accross multiple instances of the same
    type of PMU stat supports two methods for creating multiple events from
    a single event specification:
    
    1. A prefix or glob can be used in the PMU name.
    2. Aliases, which are listed immediately after the Kernel PMU events
       by perf list, are used.
    
    When the --no-merge option is passed and these events are displayed
    individually the PMU name is lost and it's not possible to see which
    count corresponds to which pmu:
    
        $ perf stat -a -e l3cache/read-miss/ --no-merge ls > /dev/null
    
         Performance counter stats for 'system wide':
    
                        67      l3cache/read-miss/
                        67      l3cache/read-miss/
                        63      l3cache/read-miss/
                        60      l3cache/read-miss/
    
               0.001675706 seconds time elapsed
    
        $ perf stat -a -e l3cache_read_miss --no-merge ls > /dev/null
    
         Performance counter stats for 'system wide':
    
                        12      l3cache_read_miss
                        17      l3cache_read_miss
                        10      l3cache_read_miss
                         8      l3cache_read_miss
    
               0.001661305 seconds time elapsed
    
    This change adds the original pmu name to the event. For dynamic pmu
    events the pmu name is restored in the event name:
    
        $ perf stat -a -e l3cache/read-miss/ --no-merge ls > /dev/null
    
         Performance counter stats for 'system wide':
    
                        63      l3cache_0_3/read-miss/
                        74      l3cache_0_1/read-miss/
                        64      l3cache_0_2/read-miss/
                        74      l3cache_0_0/read-miss/
    
               0.001675706 seconds time elapsed
    
    For alias events the name is added after the event name:
    
        $ perf stat -a -e l3cache_read_miss --no-merge ls > /dev/null
    
         Performance counter stats for 'system wide':
    
                        10      l3cache_read_miss [l3cache_0_3]
                        12      l3cache_read_miss [l3cache_0_1]
                        10      l3cache_read_miss [l3cache_0_2]
                        17      l3cache_read_miss [l3cache_0_0]
    
               0.001661305 seconds time elapsed
    Signed-off-by: default avatarAgustin Vega-Frias <agustinv@codeaurora.org>
    Acked-by: default avatarAndi Kleen <ak@linux.intel.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Timur Tabi <timur@codeaurora.org>
    Cc: linux-arm-kernel@lists.infradead.org
    Change-Id: I8056b9eda74bda33e95065056167ad96e97cb1fb
    Link: http://lkml.kernel.org/r/1520345084-42646-3-git-send-email-agustinv@codeaurora.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    8c5421c0
builtin-stat.c 74 KB