Merge tag 'perf-core-for-mingo-5.4-20190816' of...
Merge tag 'perf-core-for-mingo-5.4-20190816' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo: report/script/trace/top: Arnaldo Carvalho de Melo: - Allow specifying marker events demarcating when to consider the other events, i.e. one now can state something like: # perf probe kernel_function # perf record -e cycles,probe:kernel_function And then, in 'perf script' or 'perf report' say: # perf report --switch-on=probe:kernel_function And then the cycles event samples will be considered only after we find the first probe:kernel_function event. There is also --switch-off=event, to make it stop considering events out of some window, say to avoid some winding down of a workload. The same can be done with the "live mode" tools: 'perf top' and 'perf trace'. There are examples in the cset comments showing how to use it with SDT events in things like 'systemtap', that have those tracepoint-like events for the start/end of passes, etc. Another example involves selecting scheduler events + entry/exit of a syscall, using the syscalls tracepoints, one can then see the scheduler events that take place while that syscall is being processed. In the future this should be possible in record/top/trace via eBPF where the perf tools would hook into the marker events and enable events put in place but not enabled when the on/off conditions are the desired ones, reducing the amount of events sampled, but this userspace only solution should be good enough for many scenarios. perf vendor events intel: Haiyan Song: - Add Tremontx event file v1.02. unwind: John Keeping: - Fix callchain unwinding when tid != pid, that was working only for the thread group leader. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXVcMPgAKCRCyPKLppCJ+ J6ipAP9F5+TitM1zln/wUUP7/Ug4ZPDsdvA+Ggc8x0Ns7URJQwD/RHk43MgDC1fG VXbpQ7byj339Wo7SpjadzLl9xPlh/Qw= =IaYE -----END PGP SIGNATURE----- commit e2736219 Author: John Keeping <john@metanate.com> Date: Thu Aug 15 11:01:46 2019 +0100 perf unwind: Remove unnecessary test If dwarf_callchain_users is false, then unwind__prepare_access() will not set unwind_libunwind_ops so the remaining test here is sufficient. Signed-off-by: John Keeping <john@metanate.com> Reviewed-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: john keeping <john@metanate.com> Link: http://lkml.kernel.org/r/20190815100146.28842-3-john@metanate.comSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c index b843f9d0a9ea..6499b22b158b 100644 --- a/tools/perf/util/unwind-libunwind.c +++ b/tools/perf/util/unwind-libunwind.c @@ -69,18 +69,12 @@ int unwind__prepare_access(struct map_groups *mg, struct map *map, void unwind__flush_access(struct map_groups *mg) { - if (!dwarf_callchain_users) - return; - if (mg->unwind_libunwind_ops) mg->unwind_libunwind_ops->flush_access(mg); } void unwind__finish_access(struct map_groups *mg) { - if (!dwarf_callchain_users) - return; - if (mg->unwind_libunwind_ops) mg->unwind_libunwind_ops->finish_access(mg); }
Showing
This diff is collapsed.
tools/perf/util/evswitch.c
0 → 100644
tools/perf/util/evswitch.h
0 → 100644
Please register or sign in to comment