• Leo Yan's avatar
    coresight: etm4x: Don't trace PID for non-root PID namespace · aab47386
    Leo Yan authored
    When runs in perf mode, the driver always enables the PID tracing.  This
    can lead confusion when the profiling session runs in non-root PID
    namespace, whereas it records the PIDs from the root PID namespace.
    
    To avoid confusion for PID tracing, when runs in perf mode, this patch
    changes to only enable PID tracing for root PID namespace.
    
    As result, after apply this patch, the perf tool reports PID as '-1' for
    all samples:
    
      # unshare --fork --pid perf record -e cs_etm// -m 64K,64K -a \
    	-o perf_test.data -- uname
      # perf report -i perf_test.data --itrace=Zi1000i --stdio
    
      # Total Lost Samples: 0
      #
      # Samples: 94  of event 'instructions'
      # Event count (approx.): 94000
      #
      # Overhead  Command  Shared Object      Symbol
      # ........  .......  .................  ..............................
      #
          68.09%  :-1      [kernel.kallsyms]  [k] __sched_text_end
           3.19%  :-1      [kernel.kallsyms]  [k] hrtimer_interrupt
           2.13%  :-1      [kernel.kallsyms]  [k] __bitmap_and
           2.13%  :-1      [kernel.kallsyms]  [k] trace_vbprintk
           1.06%  :-1      [kernel.kallsyms]  [k] __fget_files
           1.06%  :-1      [kernel.kallsyms]  [k] __schedule
           1.06%  :-1      [kernel.kallsyms]  [k] __softirqentry_text_start
           1.06%  :-1      [kernel.kallsyms]  [k] __update_load_avg_cfs_rq
           1.06%  :-1      [kernel.kallsyms]  [k] __update_load_avg_se
           1.06%  :-1      [kernel.kallsyms]  [k] arch_counter_get_cntpct
           1.06%  :-1      [kernel.kallsyms]  [k] check_and_switch_context
           1.06%  :-1      [kernel.kallsyms]  [k] format_decode
           1.06%  :-1      [kernel.kallsyms]  [k] handle_percpu_devid_irq
           1.06%  :-1      [kernel.kallsyms]  [k] irq_enter_rcu
           1.06%  :-1      [kernel.kallsyms]  [k] irqtime_account_irq
           1.06%  :-1      [kernel.kallsyms]  [k] ktime_get
           1.06%  :-1      [kernel.kallsyms]  [k] ktime_get_coarse_real_ts64
           1.06%  :-1      [kernel.kallsyms]  [k] memmove
           1.06%  :-1      [kernel.kallsyms]  [k] perf_ioctl
           1.06%  :-1      [kernel.kallsyms]  [k] perf_output_begin
           1.06%  :-1      [kernel.kallsyms]  [k] perf_output_copy
           1.06%  :-1      [kernel.kallsyms]  [k] profile_tick
           1.06%  :-1      [kernel.kallsyms]  [k] sched_clock
           1.06%  :-1      [kernel.kallsyms]  [k] timerqueue_add
           1.06%  :-1      [kernel.kallsyms]  [k] trace_save_cmdline
           1.06%  :-1      [kernel.kallsyms]  [k] update_load_avg
           1.06%  :-1      [kernel.kallsyms]  [k] vbin_printf
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Link: https://lore.kernel.org/r/20220204152403.71775-4-leo.yan@linaro.org
    aab47386
coresight-etm4x-core.c 61.4 KB