• Stephane Eranian's avatar
    perf stat: Add per-core aggregation · 12c08a9f
    Stephane Eranian authored
    This patch adds the --per-core option to perf stat.
    
    This option is used to aggregate system-wide counts
    on a per physical core basis. On processors with
    hyperthreading, this means counts of all HT threads
    running on a physical core are aggregated.
    
    This mode is useful to find imblance between physical
    cores running an uniform workload. Cores are identified
    by socket: S0-C1, means physical core 1 on socket 0. Note
    that cores are identified using their physical core id,
    thus their numbering may not be continuous.
    
    Per core aggregation can be combined with interval printing:
    
     # perf stat -a --per-core -I 1000 -e cycles sleep 1000
     #           time core         cpus             counts events
          1.000090030 S0-C0           1          4,765,747 cycles
          1.000090030 S0-C1           1          5,580,647 cycles
          1.000090030 S0-C2           1            221,181 cycles
          1.000090030 S0-C3           1            266,092 cycles
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1360846649-6411-4-git-send-email-eranian@google.com
    [ committer note: Remove parts already applied on 86ee6e18 to keep bisectability ]
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    12c08a9f
builtin-stat.c 40.2 KB