Messages in this thread | | | Date | Mon, 3 Jul 2017 10:19:22 +0200 | From | Ingo Molnar <> | Subject | [GIT PULL] perf changes for v4.13 |
| |
Linus,
Please pull the latest perf-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf-core-for-linus
# HEAD: 23acd3e1a0a377cf3730ccb753aa1fdc50378396 Merge tag 'perf-core-for-mingo-4.13-20170630' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Most of the changes are for tooling, the main changes in this cycle were:
- Improve Intel-PT hardware tracing support, both on the kernel and on the tooling side: PTWRITE instruction support, power events for C-state tracing, etc. (Adrian Hunter)
- Add support to measure SMI cost to the x86 architecture, with tooling support in 'perf stat' (Kan Liang)
- Support function filtering in 'perf ftrace', plus related improvements (Namhyung Kim)
- Allow adding and removing fields to the default 'perf script' columns, using + or - as field prefixes to do so (Andi Kleen)
- Allow resolving the DSO name with 'perf script -F brstack{sym,off},dso' (Mark Santaniello)
- Add perf tooling unwind support for PowerPC (Paolo Bonzini)
- ... and various other improvements as well.
Thanks,
Ingo
------------------> Adrian Hunter (38): perf intel-pt: Move decoder error setting into one condition perf intel-pt: Improve sample timestamp perf intel-pt: Fix missing stack clear perf intel-pt: Ensure IP is zero when state is INTEL_PT_STATE_NO_IP perf intel-pt: Fix last_ip usage perf intel-pt: Ensure never to set 'last_ip' when packet 'count' is zero perf intel-pt: Use FUP always when scanning for an IP perf intel-pt: Clear FUP flag on error perf intel-pt: Add missing __fallthrough perf intel-pt: Allow decoding with branch tracing disabled perf intel-pt: Add default config for pass-through branch enable perf intel-pt: Add documentation for new config terms perf intel-pt: Add decoder support for ptwrite and power event packets perf intel-pt: Add reserved byte to CBR packet payload perf intel-pt: Add decoder support for CBR events perf intel-pt: Remove redundant initial_skip checks perf intel-pt: Fix transactions_sample_type perf tools: Fix message because cpu list option is -C not -c perf script: Fix message because field list option is -F not -f x86/insn: perf tools: Add new ptwrite instruction perf script: Add 'synth' event type for synthesized events tools include: Add byte-swapping macros to kernel.h perf auxtrace: Add itrace option to output ptwrite events perf auxtrace: Add itrace option to output power events perf script: Add 'synth' field for synthesized event payloads perf script: Add synthesized Intel PT power and ptwrite events perf intel-pt: Factor out common code synthesizing event samples perf intel-pt: Remove unused instructions_sample_period perf intel-pt: Join needlessly wrapped lines perf intel-pt: Tidy Intel PT evsel lookup into separate function perf intel-pt: Tidy messages into called function intel_pt_synth_event() perf intel-pt: Factor out intel_pt_set_event_name() perf intel-pt: Move code in intel_pt_synth_events() to simplify attr setting perf intel-pt: Synthesize new power and "ptwrite" events perf intel-pt: Add example script for power events and PTWRITE perf intel-pt: Update documentation to include new ptwrite and power events perf intel-pt: Do not use TSC packets for calculating CPU cycles to TSC perf auxtrace: Add CPU filter support
Andi Kleen (1): perf script: Allow adding and removing fields
Arnaldo Carvalho de Melo (19): tools: Adopt __noreturn from kernel sources tools: Adopt __printf from kernel sources tools: Adopt __scanf from kernel sources perf tools: Use __maybe_unused consistently tools: Adopt noinline from kernel sources tools: Adopt __packed from kernel sources tools: Adopt __aligned from kernel sources perf evsel: Adopt find_process() perf tools: Do parameter validation earlier on fetch_kernel_version() perf tools: Remove unused _ALL_SOURCE define perf help: Introduce exec_failed() to avoid code duplication perf help: Elliminate dup code for reporting perf help: Use pr_warning() perf config: Use pr_warning() perf event-parse: Use pr_warning() perf tools: Remove warning() perf tools: Replace error() with pr_err() perf config: Do not die when parsing u64 or int config values perf tools: Kill die()
Colin Ian King (2): perf jit: fix typo: "incalid" -> "invalid" perf/x86/intel: Constify the 'lbr_desc[]' array and make a function static
Dan Carpenter (2): perf/core: Remove some dead code perf/core: Fix error handling in perf_event_alloc()
Jin Yao (3): perf report: Remove unnecessary check in annotate_browser_write() perf annotate browser: Display titles in left frame perf annotate: Return arch from symbol__disassemble() and save it in browser
Kan Liang (3): perf/x86: Add sysfs entry to freeze counters on SMI tools lib api fs: Add sysfs__write_int function perf stat: Add support to measure SMI cost
Kim Phillips (2): perf coresight: Remove superfluous check before use perf intel-pt/bts: Remove unused SAMPLE_SIZE defines and bts priv array
Mark Santaniello (2): perf script: Support -F brstack,dso and brstacksym,dso perf script: Support -F brstackoff,dso
Matthias Kaehlcke (1): perf/core: Remove unused perf_cgroup_event_cgrp_time() function
Namhyung Kim (4): perf ftrace: Show error message when fails to set ftrace files perf ftrace: Move setup_pager before opening trace_pipe perf ftrace: Add option for function filtering perf ftrace: Add -D option for depth filter
Paolo Bonzini (1): perf unwind: Support for powerpc
Peter Zijlstra (1): perf/core: Correct event creation with PERF_FORMAT_GROUP
Taeung Song (3): perf config: Invert an if statement to reduce nesting in cmd_config() perf config: Check error cases of {show_spec, set}_config() perf config: Refactor the code using 'ret' variable in cmd_config()
Thomas Richter (1): perf tests: Add platform dependency to test 15
Wang Nan (1): perf test llvm: Avoid error when PROFILE_ALL_BRANCHES is set
arch/x86/events/core.c | 10 + arch/x86/events/intel/core.c | 63 ++ arch/x86/events/intel/lbr.c | 4 +- arch/x86/events/perf_event.h | 3 + arch/x86/include/asm/msr-index.h | 2 + arch/x86/lib/x86-opcode-map.txt | 2 +- kernel/events/core.c | 30 +- tools/include/linux/compiler-gcc.h | 10 + tools/include/linux/compiler.h | 4 + tools/include/linux/kernel.h | 35 +- tools/lib/api/fs/fs.c | 30 + tools/lib/api/fs/fs.h | 4 + tools/objtool/arch/x86/insn/x86-opcode-map.txt | 2 +- tools/perf/Documentation/intel-pt.txt | 78 ++- tools/perf/Documentation/itrace.txt | 8 +- tools/perf/Documentation/perf-ftrace.txt | 33 ++ tools/perf/Documentation/perf-script.txt | 18 +- tools/perf/Documentation/perf-stat.txt | 14 + tools/perf/Makefile.config | 2 +- tools/perf/arch/arm/util/cs-etm.c | 29 +- tools/perf/arch/powerpc/util/Build | 2 + tools/perf/arch/powerpc/util/unwind-libdw.c | 73 +++ tools/perf/arch/x86/tests/insn-x86-dat-32.c | 12 + tools/perf/arch/x86/tests/insn-x86-dat-64.c | 30 + tools/perf/arch/x86/tests/insn-x86-dat-src.c | 30 + tools/perf/arch/x86/util/intel-bts.c | 4 - tools/perf/arch/x86/util/intel-pt.c | 9 +- tools/perf/bench/numa.c | 2 +- tools/perf/builtin-c2c.c | 4 +- tools/perf/builtin-config.c | 67 ++- tools/perf/builtin-diff.c | 5 +- tools/perf/builtin-ftrace.c | 159 ++++- tools/perf/builtin-help.c | 48 +- tools/perf/builtin-kmem.c | 4 +- tools/perf/builtin-record.c | 4 +- tools/perf/builtin-report.c | 8 +- tools/perf/builtin-sched.c | 2 +- tools/perf/builtin-script.c | 353 +++++++++-- tools/perf/builtin-stat.c | 53 +- tools/perf/builtin-top.c | 4 +- tools/perf/jvmti/jvmti_agent.c | 2 +- tools/perf/jvmti/jvmti_agent.h | 2 - tools/perf/jvmti/libjvmti.c | 5 +- tools/perf/pmu-events/jevents.c | 4 - .../perf/scripts/python/bin/intel-pt-events-record | 13 + .../perf/scripts/python/bin/intel-pt-events-report | 3 + tools/perf/scripts/python/intel-pt-events.py | 128 ++++ tools/perf/tests/attr.c | 10 +- tools/perf/tests/attr.py | 48 ++ tools/perf/tests/bp_signal.c | 3 +- tools/perf/tests/bp_signal_overflow.c | 3 +- tools/perf/tests/bpf-script-test-prologue.c | 9 + tools/perf/tests/dwarf-unwind.c | 15 +- tools/perf/tests/parse-events.c | 13 - tools/perf/ui/browsers/annotate.c | 54 +- tools/perf/ui/gtk/annotate.c | 3 +- tools/perf/util/annotate.c | 10 +- tools/perf/util/annotate.h | 4 +- tools/perf/util/auxtrace.c | 18 + tools/perf/util/auxtrace.h | 6 + tools/perf/util/cache.h | 3 +- tools/perf/util/config.c | 43 +- tools/perf/util/config.h | 4 +- tools/perf/util/data-convert-bt.c | 6 +- tools/perf/util/debug.h | 11 +- tools/perf/util/event.h | 121 ++++ tools/perf/util/evlist.h | 3 +- tools/perf/util/evsel.c | 42 +- tools/perf/util/genelf_debug.c | 5 +- tools/perf/util/header.c | 3 +- tools/perf/util/help-unknown-cmd.c | 2 +- tools/perf/util/intel-bts.c | 2 - .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 304 +++++++++- .../perf/util/intel-pt-decoder/intel-pt-decoder.h | 13 + tools/perf/util/intel-pt-decoder/intel-pt-log.h | 4 +- .../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 110 +++- .../util/intel-pt-decoder/intel-pt-pkt-decoder.h | 7 + .../perf/util/intel-pt-decoder/x86-opcode-map.txt | 2 +- tools/perf/util/intel-pt.c | 642 +++++++++++++++------ tools/perf/util/pmu.h | 4 +- tools/perf/util/probe-event.h | 4 +- .../util/scripting-engines/trace-event-python.c | 3 +- tools/perf/util/session.c | 2 +- tools/perf/util/sort.c | 22 +- tools/perf/util/stat-shadow.c | 33 ++ tools/perf/util/stat.c | 2 + tools/perf/util/stat.h | 2 + tools/perf/util/strbuf.h | 4 +- tools/perf/util/trace-event-parse.c | 4 +- tools/perf/util/usage.c | 62 +- tools/perf/util/util.c | 52 +- tools/perf/util/util.h | 21 +- 92 files changed, 2524 insertions(+), 625 deletions(-) create mode 100644 tools/perf/arch/powerpc/util/unwind-libdw.c create mode 100644 tools/perf/scripts/python/bin/intel-pt-events-record create mode 100644 tools/perf/scripts/python/bin/intel-pt-events-report create mode 100644 tools/perf/scripts/python/intel-pt-events.py
[ ... diff skipped due to size ... ]
| |