[PATCH 11/19] perf script: Add option to stop printing callchain

2016-12-01 Thread Arnaldo Carvalho de Melo
From: David Ahern 

Allow user to specify list of symbols which cause the dump of callchains
to stop at that symbol.

Committer notes:

Testing it:

  # perf record -ag usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.177 MB perf.data (33 samples) ]
  #
  # # Without it:
  #
  # perf script
  swapper   0 [000]  9693.370039:  1 cycles:ppp:
  2072ad x86_pmu_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a1cff remote_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  326978 flush_smp_call_function_queue 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  327413 generic_smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  249b37 smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a04b2c call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  889427 cpuidle_enter 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e534a call_cpuidle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e5730 cpu_startup_entry 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  9f5167 rest_init 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
 137ffeb start_kernel ([kernel.vmlinux].init.text)
 137f2ca x86_64_start_reservations ([kernel.vmlinux].init.text)
 137f419 x86_64_start_kernel ([kernel.vmlinux].init.text)

  swapper   0 [000]  9693.370044:  1 cycles:ppp:
  20ca1b intel_pmu_handle_irq 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  205b0c perf_event_nmi_handler 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a14a nmi_handle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a6b3 default_do_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a83c do_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a03fb1 end_repeat_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a1cff remote_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  326978 flush_smp_call_function_queue 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  327413 generic_smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  249b37 smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a04b2c call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  889427 cpuidle_enter 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e534a call_cpuidle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e5730 cpu_startup_entry 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  9f5167 rest_init 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
 137ffeb start_kernel ([kernel.vmlinux].init.text)
 137f2ca x86_64_start_reservations ([kernel.vmlinux].init.text)
  #
  # # Using it to see just what are the calls from the 'remote_function' 
function:
  #
  # perf script --stop-bt remote_function
  swapper   0 [000]  9693.370039:  1 cycles:ppp:
  2072ad x86_pmu_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 

[PATCH 11/19] perf script: Add option to stop printing callchain

2016-12-01 Thread Arnaldo Carvalho de Melo
From: David Ahern 

Allow user to specify list of symbols which cause the dump of callchains
to stop at that symbol.

Committer notes:

Testing it:

  # perf record -ag usleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.177 MB perf.data (33 samples) ]
  #
  # # Without it:
  #
  # perf script
  swapper   0 [000]  9693.370039:  1 cycles:ppp:
  2072ad x86_pmu_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a1cff remote_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  326978 flush_smp_call_function_queue 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  327413 generic_smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  249b37 smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a04b2c call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  889427 cpuidle_enter 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e534a call_cpuidle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e5730 cpu_startup_entry 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  9f5167 rest_init 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
 137ffeb start_kernel ([kernel.vmlinux].init.text)
 137f2ca x86_64_start_reservations ([kernel.vmlinux].init.text)
 137f419 x86_64_start_kernel ([kernel.vmlinux].init.text)

  swapper   0 [000]  9693.370044:  1 cycles:ppp:
  20ca1b intel_pmu_handle_irq 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  205b0c perf_event_nmi_handler 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a14a nmi_handle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a6b3 default_do_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  22a83c do_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a03fb1 end_repeat_nmi 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a1cff remote_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  326978 flush_smp_call_function_queue 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  327413 generic_smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  249b37 smp_call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  a04b2c call_function_single_interrupt 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  889427 cpuidle_enter 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e534a call_cpuidle 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  2e5730 cpu_startup_entry 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  9f5167 rest_init 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
 137ffeb start_kernel ([kernel.vmlinux].init.text)
 137f2ca x86_64_start_reservations ([kernel.vmlinux].init.text)
  #
  # # Using it to see just what are the calls from the 'remote_function' 
function:
  #
  # perf script --stop-bt remote_function
  swapper   0 [000]  9693.370039:  1 cycles:ppp:
  2072ad x86_pmu_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a29d7 perf_pmu_enable.part.90 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a713a ctx_resched 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a76c1 __perf_event_enable 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)
  3a0390 event_function 
(/usr/lib/debug/lib/modules/4.8.8-300.fc25.x86_64/vmlinux)