From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx> Hi Ingo, This one has the 34 out of 35 patches from the previous pull req, removing the 'perf stat' one about not printing stats for workloads we failed to start, that requires more thinking and introduced a regression. I'm suppressing those first 34 patches, they are unchanged from last pull req. Please consider pulling, the next one probably will be in 2014 :-) Best Regards and happy holidays! - Arnaldo The following changes since commit fa6e8e5f7cbf85f364ebd5a90525dbbe9de2083b: Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2013-12-18 14:07:26 +0100) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux tags/perf-core-for-mingo for you to fetch changes up to 74cf249d5cf7de84c88cca69a2f13b13d500ff94: perf tools: Use zfree to help detect use after free bugs (2013-12-27 17:08:19 -0300) ---------------------------------------------------------------- User visible changes: Improvements: . Support showing source code, asking for variables to be collected at probe time and other 'perf probe' operations that use DWARF information. This supports only binaries with debugging information at this time, detached debuginfo (aka debuginfo packages) support should come in later patches. (Masami Hiramatsu) . Add a perf.data file header window in the 'perf report' TUI, associated with the 'i' hotkey, providing a counterpart to the --header option in the stdio UI. (Namhyung Kim) . Guest related improvements to 'perf kvm', including allowing to specify a directory with guest specific /proc information. (Dongsheng Yang) . Print session information only if --stdio is given (Namhyung Kim) Developer stuff: Fixes: . Get rid of a duplicate va_end() in error reporting (Namhyung Kim) . If a hist entry doesn't have symbol information, compare it with its address. Affects upcoming new feature (--cumulate) (Namhyung Kim) Improvements: . Make libtraceevent install target quieter (Jiri Olsa) . Make tests/make output more compact (Jiri Olsa) . Ignore generated files in feature-checks (Chunwei Chen) New APIs: . Introduce pevent_filter_strerror() in libtraceevent, similar in purpose to libc's strerror() function. (Namhyung Kim) Refactorings: . Use perf_data_file methods to write output file in 'record' and 'inject' (Jiri Olsa) . Use pr_*() functions where applicable in 'report' (Namhyumg Kim) . Add 'machine' 'addr_location' struct to have full picture (machine, thread, map, symbol, addr) for a (partially) resolved address, reducing function signatures (Arnaldo Carvalho de Melo) . Reduce code duplication in the histogram entry creation/insertion. (Arnaldo Carvalho de Melo) . Auto allocate annotation histogram data structures, (Arnaldo Carvalho de Melo) . No need to test against NULL before calling free, also set freed memory in struct pointers to NULL, to help fixing use after free bugs. (Arnaldo Carvalho de Melo> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> ---------------------------------------------------------------- Arnaldo Carvalho de Melo (19): perf annotate: Auto allocate symbol per addr hist buckets perf hists: Leave symbol addr hist bucket auto alloc to symbol layer perf annotate: Add inc_samples method to addr_map_symbol perf top: Use hist_entry__inc_addr_sample perf annotate: Adopt methods from hists perf annotate: Make symbol__inc_addr_samples private perf report: Introduce helpers for processing callchains perf record: Simplify perf_record__write perf record: Rename 'perf_record' to plain 'record' perf tools: Rename 'perf_record_opts' to 'record_opts perf report: Rename 'perf_report' to 'report' perf ui browser: Remove misplaced __maybe_unused perf scripting python: Shorten function signatures perf scripting perl: Shorten function signatures perf mem: Remove unused parameter from dump_raw_samples() perf symbols: Add 'machine' member to struct addr_location perf tools: No need to test against NULL before calling free() perf tools: Introduce zfree perf tools: Use zfree to help detect use after free bugs Chunwei Chen (1): perf config: Ignore generated files in feature-checks Dongsheng Yang (6): perf kvm: Fix kvm report without guestmount. perf tools: Add support for PERF_RECORD_MISC_GUEST_USER in thread__find_addr_map(). perf tools: Find the proc info under machine->root_dir. perf tools: Set event->header.misc to PERF_RECORD_MISC_GUEST_USER if machine is guest. perf tools: Use machine->pid for tgid if machine is guest. perf tools: Do not synthesize the treads of default guest. Jiri Olsa (11): perf inject: Handle output file via perf_data_file object perf record: Use perf_data_file__write for output file perf tests: Factor make install tests perf tools: Making QUIET_(CLEAN|INSTAL) variables global tools lib traceevent: Remove print_app_build variable tools lib traceevent: Use global QUIET_CC build output tools lib traceevent: Add global QUIET_CC_FPIC build output tools lib traceevent: Use global QUIET_LINK build output tools lib traceevent: Use global QUIET_INSTALL build output tools lib traceevent: Use global QUIET_CLEAN build output tools lib traceevent: Use global 'O' processing code Masami Hiramatsu (2): perf probe: Expand given path to absolute path perf probe: Support basic dwarf-based operations on uprobe events Namhyung Kim (10): perf sort: Compare addresses if no symbol info perf sort: Do not compare dso again perf hists: Do not pass period and weight to add_hist_entry() tools lib traceevent: Introduce pevent_filter_strerror() perf tools: Get rid of a duplicate va_end() in error reporting routine perf report: Use pr_*() functions where applicable perf report: Print session information only if --stdio is given perf ui/tui: Protect windows by ui__lock perf ui/tui: Split help message for perf top and report perf ui/tui: Implement header window tools/lib/traceevent/Makefile | 85 +++---- tools/lib/traceevent/event-parse.c | 17 +- tools/lib/traceevent/event-parse.h | 7 +- tools/lib/traceevent/parse-filter.c | 98 ++++---- tools/perf/Makefile.perf | 1 + tools/perf/arch/common.c | 3 +- tools/perf/builtin-annotate.c | 13 +- tools/perf/builtin-diff.c | 2 +- tools/perf/builtin-inject.c | 65 +++--- tools/perf/builtin-kvm.c | 6 +- tools/perf/builtin-mem.c | 5 +- tools/perf/builtin-probe.c | 17 +- tools/perf/builtin-record.c | 94 ++++---- tools/perf/builtin-report.c | 259 +++++++-------------- tools/perf/builtin-sched.c | 2 +- tools/perf/builtin-script.c | 22 +- tools/perf/builtin-stat.c | 6 +- tools/perf/builtin-timechart.c | 3 +- tools/perf/builtin-top.c | 23 +- tools/perf/builtin-trace.c | 14 +- tools/perf/config/Makefile | 6 +- tools/perf/config/feature-checks/.gitignore | 2 + tools/perf/config/feature-checks/Makefile | 110 ++++----- tools/perf/config/utilities.mak | 7 - tools/perf/perf.h | 2 +- tools/perf/tests/code-reading.c | 2 +- tools/perf/tests/keep-tracking.c | 2 +- tools/perf/tests/make | 38 ++- tools/perf/tests/open-syscall-tp-fields.c | 2 +- tools/perf/tests/perf-record.c | 2 +- tools/perf/tests/perf-time-to-tsc.c | 2 +- tools/perf/ui/browser.c | 8 +- tools/perf/ui/browser.h | 2 + tools/perf/ui/browsers/header.c | 127 ++++++++++ tools/perf/ui/browsers/hists.c | 63 +++-- tools/perf/ui/browsers/scripts.c | 3 +- tools/perf/ui/gtk/util.c | 3 +- tools/perf/ui/stdio/hist.c | 2 +- tools/perf/ui/tui/util.c | 19 +- tools/perf/util/alias.c | 6 +- tools/perf/util/annotate.c | 73 ++++-- tools/perf/util/annotate.h | 9 +- tools/perf/util/callchain.h | 2 +- tools/perf/util/cgroup.c | 2 +- tools/perf/util/comm.c | 2 +- tools/perf/util/debug.c | 1 - tools/perf/util/dso.c | 9 +- tools/perf/util/event.c | 45 ++-- tools/perf/util/evlist.c | 9 +- tools/perf/util/evlist.h | 7 +- tools/perf/util/evsel.c | 17 +- tools/perf/util/evsel.h | 4 +- tools/perf/util/header.c | 15 +- tools/perf/util/help.c | 7 +- tools/perf/util/hist.c | 27 +-- tools/perf/util/hist.h | 3 - tools/perf/util/machine.c | 12 +- tools/perf/util/parse-events.c | 8 +- tools/perf/util/pmu.c | 2 +- tools/perf/util/probe-event.c | 234 +++++++++++++------ tools/perf/util/probe-event.h | 1 + tools/perf/util/probe-finder.c | 33 +-- tools/perf/util/record.c | 9 +- .../perf/util/scripting-engines/trace-event-perl.c | 22 +- .../util/scripting-engines/trace-event-python.c | 28 +-- tools/perf/util/session.c | 33 +-- tools/perf/util/session.h | 2 +- tools/perf/util/sort.c | 22 +- tools/perf/util/srcline.c | 6 +- tools/perf/util/strbuf.c | 2 +- tools/perf/util/strfilter.c | 2 +- tools/perf/util/string.c | 2 +- tools/perf/util/strlist.c | 3 +- tools/perf/util/svghelper.c | 5 +- tools/perf/util/symbol-elf.c | 2 +- tools/perf/util/symbol-minimal.c | 3 +- tools/perf/util/symbol.c | 11 +- tools/perf/util/symbol.h | 1 + tools/perf/util/thread_map.c | 20 +- tools/perf/util/top.c | 2 +- tools/perf/util/top.h | 2 +- tools/perf/util/trace-event-info.c | 10 +- tools/perf/util/trace-event-scripting.c | 3 +- tools/perf/util/trace-event.h | 1 - tools/perf/util/util.h | 2 + tools/perf/util/values.c | 14 +- tools/scripts/Makefile.include | 4 + 87 files changed, 1001 insertions(+), 882 deletions(-) create mode 100644 tools/perf/config/feature-checks/.gitignore create mode 100644 tools/perf/ui/browsers/header.c -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html