* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > Hi Ingo, > > Please consider pulling, > > - Arnaldo > > Test results at the end of this message, as usual. > > The following changes since commit 7869e5889477e4e32e4024d665431b35e8b7b693: > > Merge remote-tracking branch 'tip/perf/urgent' into perf/core (2018-06-04 10:28:20 -0300) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-4.18-20180605 > > for you to fetch changes up to 03ac4e71cd120d2c3411d106d00d266114575f74: > > perf intel-pt: Fix "Unexpected indirect branch" error (2018-06-05 12:28:52 -0300) > > ---------------------------------------------------------------- > perf/core improvements and fixes: > > perf stat: > > . Display user and system time for workload targets (Jiri Olsa) > > perf record: > > . Enable arbitrary event names thru name= modifier (Alexey Budankov) > > PowerPC: > > . Add a python script for hypervisor call statistics (Ravi Bangoria) > > Intel PT: (Adrian Hunter) > > . Fix sync_switch INTEL_PT_SS_NOT_TRACING > > . Fix decoding to accept CBR between FUP and corresponding TIP > > . Fix MTC timing after overflow > > . Fix "Unexpected indirect branch" error > > perf test: > > . record+probe_libc_inet_pton: > > . To get the symbol table for dynamic > shared objects on ubuntu we need to pass the -D/--dynamic command line > option, unlike with the fedora distros (Arnaldo Carvalho de Melo) > > . code-reading: > > . Fix perf_env setup for PTI entry trampolines (Adrian Hunter) > > . kmod-path: > > . Add tests for vdso32 and vdsox32 (Adrian Hunter) > > . Use header file util/debug.h (Thomas Richter) > > perf annotate: > > . Make the various UI backends (stdio, TUI, gtk) use more consistently > structs with annotation options as specified by the user (Arnaldo Carvalho de Melo) > > . Move annotation specific knobs from the symbol_conf global kitchen > sink to the annotation option structs (Arnaldo Carvalho de Melo) > > Core: > > . Fix misleading error for some unparsable events mentioning PMUs when > those are not involved in the problem (Jiri Olsa) > > - Fix symbol and object code resolution for vdso32 and vdsox32 (Adrian Hunter) > > . No need to check for null when passing pointers to foo__get() style > refcount grabbing helpers, just like in the kernel and with free(), > its safe to pass a NULL pointer to avoid having to check it before > each and every foo__get() call (Arnaldo Carvalho de Melo) > > . Remove some dead code (quote.[ch]) (Arnaldo Carvalho de Melo) > > . Remove some needless globals, making them local (Arnaldo Carvalho de Melo) > > . Reduce usage of symbol_conf.use_callchain, using other means of > finding out if callchains are in use or available for specific events, > as we evolved this codebase to allow requesting callchains for just > a subset of the monitored events. In time it will help polish > recording and showing mixed sets accross the various tools: > > perf record -e cycles/call-graph=fp/,cache-misses/call-graph=dwarf/,instructions > > (Arnaldo Carvalho de Melo) > > . Consider PTI entry trampolines in map__rip_2objdump() (Adrian Hunter) > > Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > ---------------------------------------------------------------- > Adrian Hunter (8): > perf tests kmod-path: Add tests for vdso32 and vdsox32 > perf tools: Fix symbol and object code resolution for vdso32 and vdsox32 > perf test code-reading: Fix perf_env setup for PTI entry trampolines > perf map: Consider PTI entry trampolines in rip_2objdump() > perf intel-pt: Fix sync_switch INTEL_PT_SS_NOT_TRACING > perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP > perf intel-pt: Fix MTC timing after overflow > perf intel-pt: Fix "Unexpected indirect branch" error > > Alexey Budankov (1): > perf record: Enable arbitrary event names thru name= modifier > > Arnaldo Carvalho de Melo (33): > perf tools: Remove dead quote.[ch] code > perf probe: Use return of map__get() to make code more compact > perf cgroup: Make evlist__find_cgroup() more compact > perf tools: No need to check if the argument to __get() function is NULL > perf annotate: Pass perf_evsel instead of just evsel->idx > perf annotate: __symbol__acount_cycles doesn't need notes > perf annotate: Split allocation of annotated_source struct > perf annotate: Introduce constructor/destructor for annotated_source > perf annotate: Introduce annotated_source__alloc_histograms > perf annotate: __symbol__inc_addr_samples() needs just annotated_source > perf annotate: Introduce symbol__hists() > perf annotate: Introduce symbol__cycle_hists() > perf annotate: Stop using symbol_conf.nr_events global in symbol__hists() > perf annotate: Replace symbol__alloc_hists() with symbol__hists() > perf tools: Ditch the symbol_conf.nr_events global > perf annotate: Add comment about annotated_src->nr_histograms > perf annotate stdio: Use annotation_options consistently > perf srcline: Introduce map__srcline() to make code more compact > perf sort: Introduce addr_map_symbol__srcline() to make code more compact > perf srcline: Make hist_entry srcline helper consistent with map's > perf annotate: Pass annotation_options to symbol__annotate() > perf annotate: Adopt anotation options from symbol_conf > perf annotate: Move disassembler_style global to annotation_options > perf hists browser: Pass annotation_options from tool to browser > perf annotate: Move objdump_path to struct annotation_options > perf report: No need to have report_callchain_help as a global > perf evsel: Add has_callchain() helper to make code more compact/clear > perf script: Check if evsel has callchains before trying to use it > perf sched: Use sched->show_callchain where appropriate > perf hists: Do not allocate space for callchains for evsels without them > perf hists: Introduce hist_entry__has_callchain() method > perf hists: Check if a hist_entry has callchains before using them > perf test record+probe_libc_inet_pton: Ask 'nm' for dynamic symbols > > Jiri Olsa (2): > perf stat: Display user and system time > perf tools: Fix pmu events parsing rule > > Ravi Bangoria (1): > perf script powerpc: Python script for hypervisor call statistics > > Thomas Richter (1): > perf test: Use header file util/debug.h > > tools/perf/Documentation/perf-list.txt | 6 +- > tools/perf/Documentation/perf-record.txt | 3 + > tools/perf/Documentation/perf-stat.txt | 40 +++-- > tools/perf/arch/common.c | 4 +- > tools/perf/arch/common.h | 4 +- > tools/perf/builtin-annotate.c | 36 ++-- > tools/perf/builtin-c2c.c | 2 +- > tools/perf/builtin-kvm.c | 2 - > tools/perf/builtin-probe.c | 3 +- > tools/perf/builtin-report.c | 39 ++-- > tools/perf/builtin-sched.c | 14 +- > tools/perf/builtin-script.c | 12 +- > tools/perf/builtin-stat.c | 28 ++- > tools/perf/builtin-top.c | 48 +++-- > tools/perf/builtin-trace.c | 2 +- > tools/perf/perf.c | 1 - > .../perf/scripts/python/bin/powerpc-hcalls-record | 2 + > .../perf/scripts/python/bin/powerpc-hcalls-report | 2 + > tools/perf/scripts/python/powerpc-hcalls.py | 200 +++++++++++++++++++++ > tools/perf/tests/code-reading.c | 1 + > tools/perf/tests/kmod-path.c | 16 ++ > tools/perf/tests/parse-events.c | 4 +- > tools/perf/tests/python-use.c | 3 +- > .../tests/shell/record+probe_libc_inet_pton.sh | 2 +- > tools/perf/ui/browsers/annotate.c | 21 ++- > tools/perf/ui/browsers/hists.c | 43 +++-- > tools/perf/ui/browsers/hists.h | 3 + > tools/perf/ui/gtk/annotate.c | 2 +- > tools/perf/ui/gtk/hists.c | 5 +- > tools/perf/ui/hist.c | 2 +- > tools/perf/ui/stdio/hist.c | 4 +- > tools/perf/util/Build | 1 - > tools/perf/util/annotate.c | 160 ++++++++++------- > tools/perf/util/annotate.h | 53 ++++-- > tools/perf/util/cgroup.c | 9 +- > tools/perf/util/dso.c | 2 + > tools/perf/util/evsel.c | 4 +- > tools/perf/util/evsel.h | 5 + > tools/perf/util/header.c | 24 ++- > tools/perf/util/hist.c | 23 ++- > tools/perf/util/hist.h | 26 ++- > .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 23 ++- > .../perf/util/intel-pt-decoder/intel-pt-decoder.h | 9 + > tools/perf/util/intel-pt.c | 5 + > tools/perf/util/map.c | 26 ++- > tools/perf/util/map.h | 1 + > tools/perf/util/parse-events.l | 18 +- > tools/perf/util/parse-events.y | 14 +- > tools/perf/util/probe-event.c | 3 +- > tools/perf/util/quote.c | 62 ------- > tools/perf/util/quote.h | 31 ---- > tools/perf/util/session.c | 2 +- > tools/perf/util/sort.c | 81 +++------ > tools/perf/util/sort.h | 7 +- > tools/perf/util/symbol.c | 1 - > tools/perf/util/symbol.h | 3 - > tools/perf/util/top.h | 3 +- > 57 files changed, 731 insertions(+), 419 deletions(-) > create mode 100644 tools/perf/scripts/python/bin/powerpc-hcalls-record > create mode 100644 tools/perf/scripts/python/bin/powerpc-hcalls-report > create mode 100644 tools/perf/scripts/python/powerpc-hcalls.py > delete mode 100644 tools/perf/util/quote.c > delete mode 100644 tools/perf/util/quote.h Pulled, thanks a lot Arnaldo! Ingo