• J
    perf record: Create two hybrid 'cycles' events by default · b53a0755
    Jin Yao 提交于
    When evlist is empty, for example no '-e' specified in perf record,
    one default 'cycles' event is added to evlist.
    
    While on hybrid platform, it needs to create two default 'cycles'
    events. One is for cpu_core, the other is for cpu_atom.
    
    This patch actually calls evsel__new_cycles() two times to create
    two 'cycles' events.
    
      # ./perf record -vv -a -- sleep 1
      ...
      ------------------------------------------------------------
      perf_event_attr:
        size                             120
        config                           0x400000000
        { sample_period, sample_freq }   4000
        sample_type                      IP|TID|TIME|ID|CPU|PERIOD
        read_format                      ID
        disabled                         1
        inherit                          1
        freq                             1
        precise_ip                       3
        sample_id_all                    1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 0  group_fd -1  flags 0x8 = 5
      sys_perf_event_open: pid -1  cpu 1  group_fd -1  flags 0x8 = 6
      sys_perf_event_open: pid -1  cpu 2  group_fd -1  flags 0x8 = 7
      sys_perf_event_open: pid -1  cpu 3  group_fd -1  flags 0x8 = 9
      sys_perf_event_open: pid -1  cpu 4  group_fd -1  flags 0x8 = 10
      sys_perf_event_open: pid -1  cpu 5  group_fd -1  flags 0x8 = 11
      sys_perf_event_open: pid -1  cpu 6  group_fd -1  flags 0x8 = 12
      sys_perf_event_open: pid -1  cpu 7  group_fd -1  flags 0x8 = 13
      sys_perf_event_open: pid -1  cpu 8  group_fd -1  flags 0x8 = 14
      sys_perf_event_open: pid -1  cpu 9  group_fd -1  flags 0x8 = 15
      sys_perf_event_open: pid -1  cpu 10  group_fd -1  flags 0x8 = 16
      sys_perf_event_open: pid -1  cpu 11  group_fd -1  flags 0x8 = 17
      sys_perf_event_open: pid -1  cpu 12  group_fd -1  flags 0x8 = 18
      sys_perf_event_open: pid -1  cpu 13  group_fd -1  flags 0x8 = 19
      sys_perf_event_open: pid -1  cpu 14  group_fd -1  flags 0x8 = 20
      sys_perf_event_open: pid -1  cpu 15  group_fd -1  flags 0x8 = 21
      ------------------------------------------------------------
      perf_event_attr:
        size                             120
        config                           0x800000000
        { sample_period, sample_freq }   4000
        sample_type                      IP|TID|TIME|ID|CPU|PERIOD
        read_format                      ID
        disabled                         1
        inherit                          1
        freq                             1
        precise_ip                       3
        sample_id_all                    1
        exclude_guest                    1
      ------------------------------------------------------------
      sys_perf_event_open: pid -1  cpu 16  group_fd -1  flags 0x8 = 22
      sys_perf_event_open: pid -1  cpu 17  group_fd -1  flags 0x8 = 23
      sys_perf_event_open: pid -1  cpu 18  group_fd -1  flags 0x8 = 24
      sys_perf_event_open: pid -1  cpu 19  group_fd -1  flags 0x8 = 25
      sys_perf_event_open: pid -1  cpu 20  group_fd -1  flags 0x8 = 26
      sys_perf_event_open: pid -1  cpu 21  group_fd -1  flags 0x8 = 27
      sys_perf_event_open: pid -1  cpu 22  group_fd -1  flags 0x8 = 28
      sys_perf_event_open: pid -1  cpu 23  group_fd -1  flags 0x8 = 29
      ------------------------------------------------------------
    
    We have to create evlist-hybrid.c otherwise due to the symbol
    dependency the perf test python would be failed.
    Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
    Reviewed-by: NJiri 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-14-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    b53a0755
evsel.h 13.6 KB