• Kan Liang's avatar
    perf record: Add a dummy event on hybrid systems to collect metadata records · b91e5492
    Kan Liang authored
    Some symbols may not be resolved if a user only monitors one type of
    PMU.
    
      $ sudo perf record -e cpu_atom/branch-instructions/ ./big_small_workload
      $ sudo perf report –stdio
      # Overhead  Command    Shared Object      Symbol
      # ........  .........  .................  .....................
      #
         28.02%  perf-exec  [unknown]          [.] 0x0000000000401cf6
         11.32%  perf-exec  [unknown]          [.] 0x0000000000401d04
         10.90%  perf-exec  [unknown]          [.] 0x0000000000401d11
         10.61%  perf-exec  [unknown]          [.] 0x0000000000401cfc
    
    To parse symbols the metadata records, e.g., PERF_RECORD_COMM, which are
    generated by the kernel, are required.
    
    To decide whether to generate the metadata records, the kernel relies on
    the event_filter_match() to filter the unrelated events.
    
    On a hybrid system, event_filter_match() further checks the CPU mask of
    the current enabled PMU. If an event is collected on the CPU which
    doesn't have an enabled PMU, it's treated as an unrelated event.
    
    The "big_small_workload" is created in a big core, but runs on a small
    core. The metadata records are filtered, because the user only monitors
    the PMU of the small core. The big core PMU is not enabled.
    
    For a hybrid system, a dummy event is required to generate the complete
    side-band events.
    Signed-off-by: default avatarKan Liang <kan.liang@linux.intel.com>
    Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Jin Yao <yao.jin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Link: http://lore.kernel.org/lkml/1625760212-18441-1-git-send-email-kan.liang@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    b91e5492
builtin-record.c 78.1 KB