All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Andi Kleen <ak@linux.intel.com>, Borislav Petkov <bp@suse.de>,
	Clark Williams <williams@redhat.com>,
	David Ahern <dsahern@gmail.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	George Spelvin <linux@horizon.com>, Jiri Olsa <jolsa@redhat.com>,
	John Shortt <jshortt@redhat.com>, Kan Liang <kan.liang@intel.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Matt Fleming <matt.fleming@intel.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Noel Grandin <noelgrandin@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	pi3orama <pi3orama@163.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Stephane Eranian <eranian@google.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Taeung Song <treeze.taeung@gmail.com>,
	Wang Nan <wangnan0@huawei.com>, Yury Norov <yury.norov@gmail.com>,
	Zefan Li <lizefan@huawei.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [GIT PULL 00/59] perf/core improvements and fixes
Date: Fri,  8 Jan 2016 15:02:07 -0300	[thread overview]
Message-ID: <1452276186-15202-1-git-send-email-acme@kernel.org> (raw)

Hi Ingo,

        Please consider pulling, more to come, bpf, make build-test and
hopefully Stephane's JIT stuff, etc.

Best Regards,

- Arnaldo

The following changes since commit 9cc2617de5b9222abb39cd02e90d57dfea99c6d7:

  perf/x86/amd: Remove l1-dcache-stores event for AMD (2016-01-06 11:15:39 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo

for you to fetch changes up to 775d8a1b0d75211cc6123915c6b5b688f2002478:

  perf evlist: Add --trace-fields option to show trace fields (2016-01-08 14:23:02 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

New features:

- Allow using trace events fields as sort order keys, making 'perf evlist --trace_fields'
  show those, and then the user can select a subset and use like:

    perf top -e sched:sched_switch -s prev_comm,next_comm

  That works as well in 'perf report' when handling files containing
  tracepoints.

  The default when just tracepoint events are found in a perf.data file is to
  format it like ftrace, using the libtraceevent formatters, plugins, etc (Namhyung Kim)

- Add support in 'perf script' to process 'perf stat record' generated files,
  culminating in a python perf script that calculates CPI (Cycles per
  Instruction) (Jiri Olsa)

- Show random perf tool tips in the 'perf report' bottom line (Namhyung Kim)

- perf report now defaults to --group if the perf.data file has grouped events, try it with:

  # perf record -e '{cycles,instructions}' -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.093 MB perf.data (1247 samples) ]
  # perf report
  # Samples: 1K of event 'anon group { cycles, instructions }'
  # Event count (approx.): 1955219195
  #
  #       Overhead  Command     Shared Object      Symbol

     2.86%   0.22%  swapper     [kernel.kallsyms]  [k] intel_idle
     1.05%   0.33%  firefox     libxul.so          [.] js::SetObjectElement
     1.05%   0.00%  kworker/0:3 [kernel.kallsyms]  [k] gen6_ring_get_seqno
     0.88%   0.17%  chrome      chrome             [.] 0x0000000000ee27ab
     0.65%   0.86%  firefox     libxul.so          [.] js::ValueToId<(js::AllowGC)1>
     0.64%   0.23%  JS Helper   libxul.so          [.] js::SplayTree<js::jit::LiveRange*, js::jit::LiveRange>::splay
     0.62%   1.27%  firefox     libxul.so          [.] js::GetIterator
     0.61%   1.74%  firefox     libxul.so          [.] js::NativeSetProperty
     0.61%   0.31%  firefox     libxul.so          [.] js::SetPropertyByDefining

User visible fixes:

- Coect data mmaps so that the DWARF unwinder can handle usecases needing them,
  like softice (Jiri Olsa)

- Decay callchains in fractal mode, fixing up cases where 'perf top -g' would
  show entries with more than 100% (Namhyung Kim)

Infrastructure:

- Sync tools/lib with the lib/ in the kernel sources for find_bit.c and
  move bitmap.[ch] from tools/perf/util/ to tools/lib/ (Arnaldo Carvalho de Melo)

- No need to set attr.sample_freq in some 'perf test' entries that only
  want to deal with PERF_RECORD_ meta-events, improve a bit error output
  for CQM test (Arnaldo Carvalho de Melo)

- Fix python binding build, adding some missing object files now required
  due to cpumap using find_bit stuff (Arnaldo Carvalho de Melo)

- tools/build improvemnts (Jiri Olsa)

- Add more files to cscope/ctags databases (Jiri Olsa)

- Do not show 'trace' in 'perf help' if it is not compiled in (Jiri Olsa)

- Make perf_evlist__open() open evsels with their cpus and threads,
  like perf record does, making them consistent (Adrian Hunter)

- Fix pmu snapshot initialization bug (Stephane Eranian)

- Add missing headers in perf's MANIFEST (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
Adrian Hunter (1):
      perf evlist: Make perf_evlist__open() open evsels with their cpus and threads (like perf record does)

Arnaldo Carvalho de Melo (10):
      perf tests: No need to set attr.sample_freq in the perf time to TSC test
      perf evlist: Introduce perf_evlist__new_dummy constructor
      perf test: Use "dummy" events in the PERF_RECORD_ test
      perf test: No need for setting attr.sample_freq on the RECORD test
      perf python: Add missing files to binding link list
      perf tests: No need to set attr.sample_freq for tracking !PERF_RECORD_SAMPLE
      perf tests: Give a bit more information on the CQM test failure path
      tools lib: Move find_next_bit.c to tools/lib/
      tools lib: Sync tools/lib/find_bit.c with the kernel
      tools lib: Move bitmap.[ch] from tools/perf/ to tools/{lib,include}/

Jiri Olsa (25):
      tools build feature: Fix feature_check_display_code typo
      tools build feature: Move dwarf post unwind choice output into perf
      tools build feature: Introduce feature_assign macro
      tools build feature: Use value assignment form for FEATURE-DUMP file
      perf build: Use FEATURE-DUMP in bpf subproject
      perf stat record: Keep sample_type 0 for pipe session
      perf script: Process cpu/threads maps
      perf script: Process stat config event
      perf script: Add process_stat/process_stat_interval scripting interface
      perf script: Add stat default handlers
      perf script: Add python support for stat events
      perf cpumap: Fix cpu conversion in cpu_map__from_entries
      perf script: Display stat events by default
      perf script: Add stat-cpi.py script
      perf tools: Do not show trace command if it's not compiled in
      perf script: Align event name properly
      perf tools: Include all tools/lib directory for tags/cscope/TAGS targets
      perf tools: Remove list entry from struct sort_entry
      perf tools: Add overhead/overhead_children keys defaults via string
      perf diff: Use perf_hpp__register_sort_field interface
      perf evlist: Remove perf_evlist__(enable|disable)_event functions
      perf unwind: Use find_map function in access_dso_mem
      perf unwind: Check for mmaps also in MAP__VARIABLE tree
      perf libdw: Check for mmaps also in MAP__VARIABLE tree
      perf record: Store data mmaps for dwarf unwind

Namhyung Kim (21):
      perf hist: Pass struct sample to __hists__add_entry()
      perf hist: Save raw_data/size for tracepoint events
      tools lib traceevent: Factor out and export print_event_field[s]()
      perf top: Create the evlist sooner
      perf tools: Pass evlist to setup_sorting()
      perf tools: Add dynamic sort key for tracepoint events
      perf tools: Try to show pretty printed output for dynamic sort keys
      perf tools: Add 'trace' sort key
      perf report/top: Add --raw-trace option
      perf tools: Support shortcuts for events in dynamic sort keys
      perf tools: Support '<event>.*' dynamic sort key
      perf tools: Skip dynamic fields not defined for current event
      perf tools: Add 'trace_fields' dynamic sort key
      perf tools: Make 'trace' or 'trace_fields' sort key default for tracepoint events
      perf tools: Add all matching dynamic sort keys for field name
      perf report: Add documentation for dynamic sort keys
      perf top: Decay periods in callchains
      perf report: Change default to use event group view
      perf hists: Export a couple of hist functions
      perf report: Show random usage tip on the help line
      perf evlist: Add --trace-fields option to show trace fields

Stephane Eranian (1):
      perf pmu: fix alias->snapshot missing initialization bug

Wang Nan (1):
      perf tools: Add missing headers in perf's MANIFEST

 tools/build/Makefile.feature                       |  41 +-
 tools/{perf/util => }/include/linux/bitmap.h       |   2 +
 tools/{perf/util => lib}/bitmap.c                  |   0
 tools/lib/bpf/Makefile                             |   4 +
 tools/lib/find_bit.c                               |  84 +++
 tools/lib/traceevent/event-parse.c                 | 129 ++---
 tools/lib/traceevent/event-parse.h                 |   4 +
 tools/lib/util/find_next_bit.c                     |  89 ---
 tools/perf/Build                                   |   1 +
 tools/perf/Documentation/perf-evlist.txt           |   3 +
 tools/perf/Documentation/perf-report.txt           |  27 +
 tools/perf/Documentation/perf-top.txt              |   3 +
 tools/perf/Documentation/tips.txt                  |  14 +
 tools/perf/MANIFEST                                |   4 +-
 tools/perf/Makefile.perf                           |   7 +-
 tools/perf/arch/x86/tests/intel-cqm.c              |   2 +-
 tools/perf/arch/x86/tests/perf-time-to-tsc.c       |   1 -
 tools/perf/arch/x86/util/intel-bts.c               |   4 +-
 tools/perf/arch/x86/util/intel-pt.c                |   4 +-
 tools/perf/builtin-annotate.c                      |   9 +-
 tools/perf/builtin-diff.c                          |  15 +-
 tools/perf/builtin-evlist.c                        |  11 +-
 tools/perf/builtin-record.c                        |   6 +-
 tools/perf/builtin-report.c                        |   6 +-
 tools/perf/builtin-script.c                        | 170 +++++-
 tools/perf/builtin-stat.c                          |   9 +-
 tools/perf/builtin-top.c                           |  16 +-
 tools/perf/command-list.txt                        |   2 +-
 tools/perf/config/Makefile                         |  10 +
 tools/perf/perf.c                                  |   4 +
 tools/perf/scripts/python/stat-cpi.py              |  77 +++
 tools/perf/tests/hists_cumulate.c                  |   8 +-
 tools/perf/tests/hists_filter.c                    |   2 +-
 tools/perf/tests/hists_link.c                      |   8 +-
 tools/perf/tests/hists_output.c                    |  10 +-
 tools/perf/tests/keep-tracking.c                   |   3 +-
 tools/perf/tests/perf-record.c                     |   6 +-
 tools/perf/tests/switch-tracking.c                 |   6 +-
 tools/perf/ui/browsers/hists.c                     |   7 +-
 tools/perf/ui/gtk/hists.c                          |   4 +-
 tools/perf/ui/hist.c                               |  14 +-
 tools/perf/ui/stdio/hist.c                         |   6 +-
 tools/perf/util/Build                              |  11 +-
 tools/perf/util/callchain.c                        |  28 +
 tools/perf/util/callchain.h                        |   1 +
 tools/perf/util/cpumap.c                           |  13 +-
 tools/perf/util/evlist.c                           |  72 +--
 tools/perf/util/evlist.h                           |   7 +-
 tools/perf/util/evsel.c                            |  23 +
 tools/perf/util/evsel.h                            |   1 +
 tools/perf/util/generate-cmdlist.sh                |  15 +
 tools/perf/util/hist.c                             |  78 ++-
 tools/perf/util/hist.h                             |  24 +-
 tools/perf/util/pmu.c                              |   1 +
 tools/perf/util/python-ext-sources                 |   2 +
 .../util/scripting-engines/trace-event-python.c    | 115 +++-
 tools/perf/util/sort.c                             | 601 ++++++++++++++++++++-
 tools/perf/util/sort.h                             |  12 +-
 tools/perf/util/symbol.c                           |   1 +
 tools/perf/util/symbol.h                           |   3 +-
 tools/perf/util/trace-event.h                      |   4 +
 tools/perf/util/unwind-libdw.c                     |  10 +
 tools/perf/util/unwind-libunwind.c                 |  20 +-
 tools/perf/util/util.c                             |  27 +
 tools/perf/util/util.h                             |   2 +
 65 files changed, 1556 insertions(+), 347 deletions(-)
 rename tools/{perf/util => }/include/linux/bitmap.h (95%)
 rename tools/{perf/util => lib}/bitmap.c (100%)
 create mode 100644 tools/lib/find_bit.c
 delete mode 100644 tools/lib/util/find_next_bit.c
 create mode 100644 tools/perf/Documentation/tips.txt
 create mode 100644 tools/perf/scripts/python/stat-cpi.py

             reply	other threads:[~2016-01-08 18:07 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-08 18:02 Arnaldo Carvalho de Melo [this message]
2016-01-08 18:02 ` [PATCH 01/59] perf hist: Pass struct sample to __hists__add_entry() Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 02/59] perf hist: Save raw_data/size for tracepoint events Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 03/59] tools lib traceevent: Factor out and export print_event_field[s]() Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 04/59] perf top: Create the evlist sooner Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 05/59] perf tools: Pass evlist to setup_sorting() Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 06/59] perf tools: Add dynamic sort key for tracepoint events Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 07/59] perf tools: Try to show pretty printed output for dynamic sort keys Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 08/59] perf tools: Add 'trace' sort key Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 09/59] perf report/top: Add --raw-trace option Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 10/59] perf tools: Support shortcuts for events in dynamic sort keys Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 11/59] perf tools: Support '<event>.*' dynamic sort key Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 12/59] perf tools: Skip dynamic fields not defined for current event Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 13/59] perf tools: Add 'trace_fields' dynamic sort key Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 14/59] perf tools: Make 'trace' or 'trace_fields' sort key default for tracepoint events Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 15/59] tools build feature: Fix feature_check_display_code typo Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 16/59] tools build feature: Move dwarf post unwind choice output into perf Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 17/59] tools build feature: Introduce feature_assign macro Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 18/59] tools build feature: Use value assignment form for FEATURE-DUMP file Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 19/59] perf build: Use FEATURE-DUMP in bpf subproject Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 20/59] perf tools: Add all matching dynamic sort keys for field name Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 21/59] perf report: Add documentation for dynamic sort keys Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 22/59] perf stat record: Keep sample_type 0 for pipe session Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 23/59] perf script: Process cpu/threads maps Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 24/59] perf script: Process stat config event Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 25/59] perf script: Add process_stat/process_stat_interval scripting interface Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 26/59] perf script: Add stat default handlers Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 27/59] perf script: Add python support for stat events Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 28/59] perf cpumap: Fix cpu conversion in cpu_map__from_entries Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 29/59] perf script: Display stat events by default Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 30/59] perf script: Add stat-cpi.py script Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 31/59] perf pmu: fix alias->snapshot missing initialization bug Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 32/59] perf tests: No need to set attr.sample_freq in the perf time to TSC test Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 33/59] perf evlist: Introduce perf_evlist__new_dummy constructor Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 34/59] perf test: Use "dummy" events in the PERF_RECORD_ test Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 35/59] perf test: No need for setting attr.sample_freq on the RECORD test Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 36/59] perf python: Add missing files to binding link list Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 37/59] perf tests: No need to set attr.sample_freq for tracking !PERF_RECORD_SAMPLE Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 38/59] perf tests: Give a bit more information on the CQM test failure path Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 39/59] tools lib: Move find_next_bit.c to tools/lib/ Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 40/59] tools lib: Sync tools/lib/find_bit.c with the kernel Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 41/59] tools lib: Move bitmap.[ch] from tools/perf/ to tools/{lib,include}/ Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 42/59] perf top: Decay periods in callchains Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 43/59] perf report: Change default to use event group view Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 44/59] perf tools: Do not show trace command if it's not compiled in Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 45/59] perf tools: Add missing headers in perf's MANIFEST Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 46/59] perf script: Align event name properly Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 47/59] perf tools: Include all tools/lib directory for tags/cscope/TAGS targets Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 48/59] perf tools: Remove list entry from struct sort_entry Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 49/59] perf tools: Add overhead/overhead_children keys defaults via string Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 50/59] perf diff: Use perf_hpp__register_sort_field interface Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 51/59] perf hists: Export a couple of hist functions Arnaldo Carvalho de Melo
2016-01-08 18:02 ` [PATCH 52/59] perf report: Show random usage tip on the help line Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 53/59] perf evlist: Make perf_evlist__open() open evsels with their cpus and threads (like perf record does) Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 54/59] perf evlist: Remove perf_evlist__(enable|disable)_event functions Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 55/59] perf unwind: Use find_map function in access_dso_mem Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 56/59] perf unwind: Check for mmaps also in MAP__VARIABLE tree Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 57/59] perf libdw: " Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 58/59] perf record: Store data mmaps for dwarf unwind Arnaldo Carvalho de Melo
2016-01-08 18:03 ` [PATCH 59/59] perf evlist: Add --trace-fields option to show trace fields Arnaldo Carvalho de Melo
2016-01-09 16:20 ` [GIT PULL 00/59] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452276186-15202-1-git-send-email-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=bp@suse.de \
    --cc=dsahern@gmail.com \
    --cc=eranian@google.com \
    --cc=fweisbec@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=jshortt@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@horizon.com \
    --cc=linux@rasmusvillemoes.dk \
    --cc=lizefan@huawei.com \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=matt.fleming@intel.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=noelgrandin@gmail.com \
    --cc=peterz@infradead.org \
    --cc=pi3orama@163.com \
    --cc=rostedt@goodmis.org \
    --cc=treeze.taeung@gmail.com \
    --cc=wangnan0@huawei.com \
    --cc=williams@redhat.com \
    --cc=yury.norov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.