[GIT PULL 00/49] perf/core improvements and fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]