• Namhyung Kim's avatar
    perf hist: Honor symbol_conf.skip_empty · eae7044b
    Namhyung Kim authored
    So that it can skip events with no sample according to the config value.
    This can omit the dummy event in the output of perf report --group.
    
    An example output:
    
      $ sudo perf mem record -a sleep 1
      $ sudo perf report --group
    
    Before)
      #
      # Samples: 232  of events 'cpu/mem-loads,ldlat=30/P, cpu/mem-stores/P, dummy:u'
      # Event count (approx.): 3089861
      #
      #                 Overhead  Command      Shared Object      Symbol
      # ........................  ...........  .................  .....................................
      #
           9.29%   0.00%   0.00%  swapper      [kernel.kallsyms]  [k] update_blocked_averages
           5.26%   0.15%   0.00%  swapper      [kernel.kallsyms]  [k] __update_load_avg_se
           4.15%   0.00%   0.00%  perf-exec    [kernel.kallsyms]  [k] slab_update_freelist.isra.0
           3.87%   0.00%   0.00%  perf-exec    [kernel.kallsyms]  [k] memcg_slab_post_alloc_hook
           3.79%   0.17%   0.00%  swapper      [kernel.kallsyms]  [k] enqueue_task_fair
           3.63%   0.00%   0.00%  sleep        [kernel.kallsyms]  [k] next_uptodate_page
           2.86%   0.00%   0.00%  swapper      [kernel.kallsyms]  [k] __update_load_avg_cfs_rq
           2.78%   0.00%   0.00%  swapper      [kernel.kallsyms]  [k] __schedule
           2.34%   0.00%   0.00%  swapper      [kernel.kallsyms]  [k] intel_idle
           2.32%   0.97%   0.00%  swapper      [kernel.kallsyms]  [k] psi_group_change
    
    After)
      #
      # Samples: 232  of events 'cpu/mem-loads,ldlat=30/P, cpu/mem-stores/P'
      # Event count (approx.): 3089861
      #
      #         Overhead  Command      Shared Object      Symbol
      # ................  ...........  .................  .....................................
      #
           9.29%   0.00%  swapper      [kernel.kallsyms]  [k] update_blocked_averages
           5.26%   0.15%  swapper      [kernel.kallsyms]  [k] __update_load_avg_se
           4.15%   0.00%  perf-exec    [kernel.kallsyms]  [k] slab_update_freelist.isra.0
           3.87%   0.00%  perf-exec    [kernel.kallsyms]  [k] memcg_slab_post_alloc_hook
           3.79%   0.17%  swapper      [kernel.kallsyms]  [k] enqueue_task_fair
           3.63%   0.00%  sleep        [kernel.kallsyms]  [k] next_uptodate_page
           2.86%   0.00%  swapper      [kernel.kallsyms]  [k] __update_load_avg_cfs_rq
           2.78%   0.00%  swapper      [kernel.kallsyms]  [k] __schedule
           2.34%   0.00%  swapper      [kernel.kallsyms]  [k] intel_idle
           2.32%   0.97%  swapper      [kernel.kallsyms]  [k] psi_group_change
    
    Now it doesn't have a column for the dummy event.
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/r/20240607202918.2357459-5-namhyung@kernel.org
    eae7044b
python.c 39.9 KB