• Jin Yao's avatar
    perf parse-events: Create two hybrid raw events · 94da591b
    Jin Yao authored
    On hybrid platform, same raw event is possible to be available
    on both cpu_core pmu and cpu_atom pmu. It's supported to create
    two raw events for one event encoding. For raw events, the
    attr.type is PMU type.
    
      # perf stat -e r3c -a -vv -- sleep 1
      Control descriptor is not initialized
      ------------------------------------------------------------
      perf_event_attr:
        type                             4
        size                             120
        config                           0x3c
        sample_type                      IDENTIFIER
        read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
        disabled                         1
        inherit                          1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 0  group_fd -1  flags 0x8 = 3
      ------------------------------------------------------------
      ...
      ------------------------------------------------------------
      perf_event_attr:
        type                             4
        size                             120
        config                           0x3c
        sample_type                      IDENTIFIER
        read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
        disabled                         1
        inherit                          1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 15  group_fd -1  flags 0x8 = 19
      ------------------------------------------------------------
      perf_event_attr:
        type                             8
        size                             120
        config                           0x3c
        sample_type                      IDENTIFIER
        read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
        disabled                         1
        inherit                          1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 16  group_fd -1  flags 0x8 = 20
      ------------------------------------------------------------
      ...
      ------------------------------------------------------------
      perf_event_attr:
        type                             8
        size                             120
        config                           0x3c
        sample_type                      IDENTIFIER
        read_format                      TOTAL_TIME_ENABLED|TOTAL_TIME_RUNNING
        disabled                         1
        inherit                          1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 23  group_fd -1  flags 0x8 = 27
      r3c: 0: 434449 1001412521 1001412521
      r3c: 1: 173162 1001482031 1001482031
      r3c: 2: 231710 1001524974 1001524974
      r3c: 3: 110012 1001563523 1001563523
      r3c: 4: 191517 1001593221 1001593221
      r3c: 5: 956458 1001628147 1001628147
      r3c: 6: 416969 1001715626 1001715626
      r3c: 7: 1047527 1001596650 1001596650
      r3c: 8: 103877 1001633520 1001633520
      r3c: 9: 70571 1001637898 1001637898
      r3c: 10: 550284 1001714398 1001714398
      r3c: 11: 1257274 1001738349 1001738349
      r3c: 12: 107797 1001801432 1001801432
      r3c: 13: 67471 1001836281 1001836281
      r3c: 14: 286782 1001923161 1001923161
      r3c: 15: 815509 1001952550 1001952550
      r3c: 0: 95994 1002071117 1002071117
      r3c: 1: 105570 1002142438 1002142438
      r3c: 2: 115921 1002189147 1002189147
      r3c: 3: 72747 1002238133 1002238133
      r3c: 4: 103519 1002276753 1002276753
      r3c: 5: 121382 1002315131 1002315131
      r3c: 6: 80298 1002248050 1002248050
      r3c: 7: 466790 1002278221 1002278221
      r3c: 6821369 16026754282 16026754282
      r3c: 1162221 8017758990 8017758990
    
       Performance counter stats for 'system wide':
    
               6,821,369      cpu_core/r3c/
               1,162,221      cpu_atom/r3c/
    
             1.002289965 seconds time elapsed
    Signed-off-by: default avatarJin Yao <yao.jin@linux.intel.com>
    Reviewed-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20210427070139.25256-11-yao.jin@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    94da591b
parse-events-hybrid.c 3.95 KB