perf changes for v4.7
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: 3f56e687a138481894a1088d5aa7d41951bdb020 perf/core: Disable the event on a truncated AUX record
Bigger kernel side changes:
- Add backwards writing capability to the perf ring-buffer code, which is preparation for future advanced features like robust 'overwrite support' and snapshot mode. (Wang Nan)
- Add pause and resume ioctls for the perf ringbuffer (Wang Nan)
- x86 Intel cstate code cleanups and reorgnization (Thomas Gleixner)
- x86 Intel uncore and CPU PMU driver updates (Kan Liang, Peter Zijlstra)
- x86 AUX (Intel PT) related enhancements and updates (Alexander Shishkin)
- x86 MSR PMU driver enhancements and updates (Huang Rui)
- ... and lots of other changes spread out over 40+ commits.
Biggest tooling side changes:
- 'perf trace' features and enhancements. (Arnaldo Carvalho de Melo)
- BPF tooling updates (Wang Nan)
- 'perf sched' updates (Jiri Olsa)
- 'perf probe' updates (Masami Hiramatsu)
- ... plus 200+ other enhancements, fixes and cleanups to tools/
The merge commits, the shortlog and the changelogs contain a lot more details.
Thanks,
Ingo
------------------>
Adrian Hunter (3):
perf tools: Add time conversion event
perf jit: Add support for using TSC as a timestamp perf intel-pt/bts: Define JITDUMP_USE_ARCH_TIMESTAMP
Alexander Shishkin (18):
perf/ring_buffer: Refuse to begin AUX transaction after rb->aux_mmap_count drops perf/core: Free AUX pages in unmap path
perf/ring_buffer: Document AUX API usage
perf/x86/intel/pt: Move transaction start/stop to PMU start/stop callbacks perf/x86/intel/bts: Move transaction start/stop to start/stop callbacks perf/x86/intel/pt: Use boot_cpu_has() because it's there perf/core: Move set_filter() out of CONFIG_EVENT_TRACING perf/x86/intel/pt: Move PT specific MSR bit definitions to a private header perf/x86/intel/pt: Add IP filtering register/CPUID bits
perf/core: Extend perf_event_aux_ctx() to optionally iterate through more events perf/core: Introduce address range filtering
perf/x86/intel/pt: Add support for address range filtering in PT perf/core: Let userspace know if the PMU supports address filters perf/x86/intel/pt: Bypass PT vs. LBR exclusivity if the core supports it perf/x86/intel/pt: Export CPU frequency ratios needed by PT decoders perf/x86/intel/pt: Convert ACCESS_ONCE()s
perf/x86/intel/pt: Generate PMI in the STOP region as well perf/core: Disable the event on a truncated AUX record
Andi Kleen (4):
perf tools: Add support for skipping itrace instructions perf list: Document event specifications better perf stat: Add extra output of counter values with -vv perf stat: Scale values by unit before metrics
Andrey Ryabinin (1):
perf buildid: Fix off-by-one in write_buildid()
Arnaldo Carvalho de Melo (95):
perf trace: Do not process PERF_RECORD_LOST twice
perf trace: Pretty print seccomp() args
perf trace: Pretty print getrandom() args
perf trace: Introduce function to set the base timestamp
perf trace: Don't set the base timestamp using events without PERF_SAMPLE_TIME perf probe: Check if dwarf_getlocations() is available
perf script perl: Do error checking on new backtrace routine
perf trace: Beautify sched_setscheduler 'policy' argument
perf trace: Beautify wait4/waitid 'options' argument
perf trace: Infrastructure to show COMM strings for syscalls returning PIDs perf trace: Beautify set_tid_address, getpid, getppid return values perf trace: Beautify pid_t arguments
perf trace: Beautify mode_t arguments
perf trace: Move syscall table id <-> name routines to separate class perf tools: Allow generating per-arch syscall table arrays
perf tools: Build syscall table .c header from kernel's syscall_64.tbl perf script: Use readdir() instead of deprecated readdir_r()
perf thread_map: Use readdir() instead of deprecated readdir_r()
perf tools: Use readdir() instead of deprecated readdir_r()
perf tools: Use readdir() instead of deprecated readdir_r()
perf dwarf: Guard !x86_64 definitions under #ifdef else clause
perf evsel: Allow passing a left alignment when printing a symbol
perf evsel: Rename print_ip() to fprintf_sym()
perf evsel: Introduce fprintf_callchain() method out of fprintf_sym() perf trace: Exclude the kernel part of the callchain leading to a syscall perf evsel: Do not use globals in config()
perf evlist: Add (reset,set)_sample_bit methods
perf evsel: Rename config_callgraph() to config_callchain() and make it public perf trace: Make "--call-graph" affect just "raw_syscalls:sys_exit" perf evsel: Allow unresolved symbol names to be printed as addresses perf trace: Print unresolved symbol names as addresses
perf trace: Support callchains for --event too
perf evsel: Move some methods from session.[ch] to evsel.[ch]
perf trace: Do not accept --no-syscalls together with -e
perf trace: Add seccomp beautifier related defines for older systems perf trace: Add getrandom beautifier related defines for older systems perf trace: Move mmap beautifiers to trace/beauty/ directory
perf trace: Move eventfd beautifiers to trace/beauty/ directory
perf trace: Move socket_type beautifier to tools/perf/trace/beauty/ perf callchain: Start moving away from global per thread cursors
perf evsel: Remove symbol_conf usage
perf symbols: Move fprintf routines to separate object file
perf evsel: Require that callchains be resolved before calling fprintf_{sym,callchain} perf tools: Remove addr_location argument to sample__fprintf_callchain perf script: Add --max-stack knob
perf trace: Add --max-stack knob
perf evsel: Move fprintf methods to separate source file
perf trace: Do not print interrupted syscalls when using --duration perf trace: Introduce --min-stack filter
perf record: Export record_opts based callchain parsing helper
perf trace: Make --(min,max}-stack imply "--call-graph dwarf"
perf evlist: Expose perf_event_mlock_kb_in_pages() helper
perf trace: Bump --mmap-pages when --call-graph is used by the root user perf trace: Fix build when DWARF unwind isn't available
perf evsel: Add missign class prefix to has_branch_stack method
perf script: Check sample->callchain before using it
perf callchain: Set callchain_param.enabled when parsing --call-graph perf report: Use callchain_param.enabled instead of tool specific knob perf tools: Ditch record_opts.callgraph_set
perf hists browser: Fold two consecutive symbol_conf.use_callchain ifs perf top: Use callchain_param.enabled instead of symbol_conf.use_callchain perf build: Remove x86 references from arch-neutral Build
perf symbols: Allow loading kallsyms without considering kcore files perf test: Ignore kcore files in the "vmlinux matches kallsyms" test perf test: Add missing verbose output explaining the reason for failure perf trace: Extract evsel contructor from perf_evlist__add_pgfault
perf trace: Make --pf maj/min/all use callchains too
perf trace: Make --event honour --min-stack too
perf trace: Make --pf honour --min-stack too
perf evlist: Decode perf_event_attr->branch_sample_type
perf trace: Move perf_flags beautifier to tools/perf/trace/beauty/
perf trace: Do not beautify the 'pid' parameter as a simple integer tools lib api fs: Add helper to read string from procfs file
perf thread: Introduce method to set comm from /proc/pid/self
perf trace: Read thread's COMM from /proc when not set
perf tools: Update x86's syscall_64.tbl, adding preadv2 & pwritev2
perf bench: Remove one more die() call
perf core: Allow setting up max frame stack depth via sysctl
perf tools: Set the maximum allowed stack from /proc/sys/kernel/perf_event_max_stack perf evsel: Handle ENOMEM for perf_event_max_stack + PERF_SAMPLE_CALLCHAIN perf evsel: Remove two extraneous ending newlines in open_strerror() perf trace: Move msg_flags beautifier to tools/perf/trace/beauty/
perf machine: Introduce number of threads member
perf tools: Add template for generating rbtree resort class
perf trace: Sort summary output by number of events
perf trace: Sort syscalls stats by msecs in --summary
perf trace: Do not show the runtime_ms for a thread when not collecting it perf trace: Do not print raw args list for syscalls with no args
perf trace: Move signum beautifier to tools/perf/trace/beauty/
perf trace: Move open_flags beautifier to tools/perf/trace/beauty/
perf trace: Move futex_op beautifier to tools/perf/trace/beauty/
perf evsel: Print state of perf_event_attr.write_backward
perf scripting python: Use Py_FatalError instead of die()
perf trace: Move flock op beautifier to tools/perf/trace/beauty/
perf trace: Move seccomp args beautifiers to tools/perf/trace/beauty/
Chris Phlipot (14):
perf script: Fix postgresql ubuntu install instructions perf script: Fix segfault when printing callchains
perf callchain: Fix incorrect ordering of entries
perf tools: Refactor code to move call path handling out of thread-stack perf script: Enable db export to output sampled callchains perf script: Add call path id to exported sample in db export perf script: Expose usage of the callchain db export via the python api perf script: Update export-to-postgresql to support callchain export perf script: Fix incorrect python db-export error message perf symbols: Fix handling of zero-length symbols.
perf symbols: Add dso__insert_symbol function
perf script: Fix symbol insertion behavior in db-export perf script: Fix callchain addresses in db-export
perf script: Fix export of callchains with recursion in db-export
Colin Ian King (3):
perf jit: memset() variable 'st' using the correct size perf tests: Replace assignment with comparison on assert check perf intel-pt: Fix off-by-one comparison on maximum code
Davidlohr Bueso (1):
perf bench futex: Simplify wrapper for LOCK_PI
Dima Kogan (1):
perf script perl: Perl scripts now get a backtrace, like the python ones
Eric Engestrom (1):
perf tools: Remove duplicate const qualifier
Florian Fainelli (2):
bpf tools: Remove expression with no effect
bpf tools: Fix syscall argument
He Kuang (3):
perf callchain: Recording 'dwarf' callchains do not need DWARF unwinding support perf build: Add build-test for libunwind cross-platforms support perf build: Add build-test for debug-frame on arm/arm64
Huang Rui (2):
perf/x86/msr: Add AMD PTSC (Performance Time-Stamp Counter) support perf/x86/msr: Add AMD IRPERF (Instructions Retired) performance counter
Jiri Olsa (26):
perf mem: Add -U/-K (--all-user/--all-kernel) options
perf tools: Make hists__collapse_insert_entry static
perf tools: Make -f/--force option documentation consistent across tools perf tests: Add test to check for event times
ftrace/perf: Check sample types only for sampling events perf tools: Remove superfluous ARCH Makefile includes
perf tools: Introduce trim function
perf tools: Add dedicated unwind addr_space member into thread struct perf script: Process event update events
perf thread_map: Add has() method
perf cpu_map: Add has() method
perf sched: Add compact display option
perf sched: Use color_fprintf for output
perf thread_map: Make new_by_tid_str constructor public perf sched map: Color given pids
perf sched map: Color given cpus
perf sched map: Display only given cpus
perf tools: Make the x86 clean quiet
tools build: Fix perf_clean target
perf hists: Move sort__need_collapse into struct perf_hpp_list perf hists: Move sort__has_parent into struct perf_hpp_list perf hists: Move sort__has_sym into struct perf_hpp_list perf hists: Move sort__has_dso into struct perf_hpp_list perf hists: Move sort__has_socket into struct perf_hpp_list perf hists: Move sort__has_thread into struct perf_hpp_list perf hists: Move sort__has_comm into struct perf_hpp_list
Julia Lawall (1):
uprobes/x86: Constify uprobe_xol_ops structures
Kan Liang (6):
x86/perf/intel/uncore: Make the Intel uncore PMU driver modular x86/perf/intel/rapl: Make the Intel RAPL PMU driver modular perf tools: Fix PMU term format max value calculation perf/x86/intel: Add Goldmont CPU support
perf/x86/intel: Add LBR filter support for Silvermont and Airmont CPUs perf hists: Clear dummy entry accumulated period
Mark Rutland (1):
perf/arm: Special-case hetereogeneous CPUs
Masami Hiramatsu (17):
perf probe: Close target file on error path
perf tools: Add lsdir() helper to read a directory
perf probe: Let probe_file__add_event return 0 if succeeded perf probe: Set default kprobe group name if it is not given perf probe: Use strbuf for making strings
perf tools: Rewrite strbuf not to die()
perf probe: Check the return value of strbuf APIs
perf help: Make check_emacsclient_version to check strbuf APIs perf tools: Make alias handler to check return value of strbuf perf header: Make topology checkers to check return value of strbuf perf pmu: Make pmu_formats_string to check return value of strbuf perf help: Do not use ALLOC_GROW in add_cmd_list
perf tools: Remove xrealloc and ALLOC_GROW
perf tools: Fix lsdir to set errno correctly
perf tools: Use SBUILD_ID_SIZE where applicable
perf symbols: Use lsdir() for the search in kcore cache directory perf buildid-cache: Use lsdir() for looking up buildid caches
Milian Wolff (2):
perf evsel: Allow specifying a file to output in perf_evsel__print_ip perf trace: Add support for printing call chains on sys_exit events.
Naveen N. Rao (3):
perf tools powerpc: Add support for generating bpf prologue perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le perf symbols: Fix kallsyms perf test on ppc64le
Peter Zijlstra (5):
perf/x86: Move Kconfig.perf and other perf configuration bits to events/Kconfig perf/core: Verify we have a single perf_hw_context PMU perf/x86/amd/uncore: Do not register a task ctx for uncore PMUs x86/perf/rapl: Reorder model numbers
x86/perf/rapl: Add missing Broadwell model
Ravi Bangoria (2):
perf probe: Fix offline module name missmatch issue perf probe: Fix module probe issue if no dwarf support
Srinivas Pandruvada (2):
perf/x86/intel/rapl: Support Skylake RAPL domains powercap, perf/x86/intel/rapl: Add PSys support
Taeung Song (5):
perf config: Remove duplicated set_buildid_dir calls
perf config: Rework buildid_dir_command_config to perf_buildid_config perf config: Rename 'v' to 'home' in set_buildid_dir() perf config: Introduce perf_config_set class
perf config: Make show_config() use perf_config_set
Thomas Gleixner (4):
x86/perf/intel/cstate: Make cstate hotplug handling actually work x86/perf/intel/cstate: Sanitize probing x86/perf/intel/cstate: Sanitize error handling x86/perf/intel/cstate: Modularize driver
Vaishali Thakkar (1):
perf tests: Do not use sizeof on pointer type
Vinson Lee (1):
perf config: Fix build with older toolchain.
Wang Nan (25):
perf/ring_buffer: Introduce new ioctl options to pause and resume the ring-buffer perf/core: Set event's default ::overflow_handler()
perf/ring_buffer: Prepare writing into the ring-buffer from the end perf bpf: Add sample types for 'bpf-output' event
perf symbols: Record text offset in dso to calculate objdump address perf symbols: Adjust symbol for shared objects
perf bpf: Clone bpf stdout events in multiple bpf scripts
perf bpf: Automatically create bpf-output event __bpf_stdout__
perf ordered_events: Introduce reinit()
perf session: Make ordered_events reusable
perf data: Add perf_data_file__switch() helper
perf record: Turns auxtrace_snapshot_enable into 3 states
perf record: Add '--timestamp-filename' option to append timestamp to output file name perf/core: Add ::write_backward attribute to perf event
perf evlist: Enforce ring buffer reading
perf tools: Introduce trigger class
perf tools: Derive trigger class from auxtrace_snapshot
perf record: Split output into multiple files via '--switch-output' perf record: Force enable --timestamp-filename when --switch-output is provided perf record: Disable buildid cache options by default in switch output mode perf record: Generate tracking events for process forked by perf
perf evlist: Extract perf_mmap__read()
perf evlist: Rename variable in perf_mmap__read()
perf tools: Support reading from backward ring buffer
perf tests: Add test to check backward ring buffer
Documentation/sysctl/kernel.txt | 14 + arch/arm/kernel/hw_breakpoint.c | 4 +- arch/arm/kernel/perf_callchain.c | 2 +- arch/arm64/kernel/hw_breakpoint.c | 4 +- arch/arm64/kernel/perf_callchain.c | 4 +- arch/metag/kernel/perf_callchain.c | 2 +- arch/mips/kernel/perf_event.c | 4 +- arch/powerpc/perf/callchain.c | 4 +- arch/sparc/kernel/perf_event.c | 6 +- arch/x86/Kconfig | 15 +- arch/x86/events/Kconfig | 36 + arch/x86/events/Makefile | 9 +- arch/x86/events/amd/uncore.c | 2 + arch/x86/events/core.c | 10 +- arch/x86/events/intel/Makefile | 9 + arch/x86/events/intel/bts.c | 105 +- arch/x86/events/intel/core.c | 160 ++- arch/x86/events/intel/cstate.c | 547 +++++----- arch/x86/events/intel/ds.c | 6 + arch/x86/events/intel/lbr.c | 31 +- arch/x86/events/intel/pt.c | 320 ++++-- arch/x86/events/intel/pt.h | 68 ++ arch/x86/events/intel/rapl.c | 183 +++- arch/x86/events/intel/uncore.c | 216 ++-- arch/x86/events/msr.c | 36 +- arch/x86/events/perf_event.h | 5 + arch/x86/include/asm/cpufeatures.h | 2 + arch/x86/include/asm/msr-index.h | 35 +- arch/x86/kernel/uprobes.c | 4 +- arch/xtensa/kernel/perf_event.c | 4 +- drivers/perf/arm_pmu.c | 8 + drivers/powercap/intel_rapl.c | 69 ++ include/linux/perf_event.h | 139 ++- include/uapi/linux/perf_event.h | 4 +- kernel/bpf/stackmap.c | 8 +- kernel/events/callchain.c | 35 +- kernel/events/core.c | 911 +++++++++++++++- kernel/events/internal.h | 10 +- kernel/events/ring_buffer.c | 128 ++- kernel/sysctl.c | 12 + kernel/trace/trace_event_perf.c | 3 + tools/Makefile | 3 +- tools/build/Makefile.feature | 10 +- tools/build/feature/Makefile | 27 + tools/build/feature/test-all.c | 5 + tools/build/feature/test-bpf.c | 3 +- tools/build/feature/test-dwarf_getlocations.c | 12 + tools/build/feature/test-libunwind-aarch64.c | 26 + tools/build/feature/test-libunwind-arm.c | 27 + .../feature/test-libunwind-debug-frame-aarch64.c | 16 + .../build/feature/test-libunwind-debug-frame-arm.c | 16 + tools/build/feature/test-libunwind-x86.c | 27 + tools/build/feature/test-libunwind-x86_64.c | 27 + tools/lib/api/fs/fs.c | 13 + tools/lib/api/fs/fs.h | 2 + tools/perf/Documentation/intel-pt.txt | 7 + tools/perf/Documentation/itrace.txt | 8 + tools/perf/Documentation/perf-annotate.txt | 2 +- tools/perf/Documentation/perf-diff.txt | 2 +- tools/perf/Documentation/perf-list.txt | 107 +- tools/perf/Documentation/perf-mem.txt | 8 + tools/perf/Documentation/perf-record.txt | 13 + tools/perf/Documentation/perf-report.txt | 4 +- tools/perf/Documentation/perf-sched.txt | 16 + tools/perf/Documentation/perf-script.txt | 14 + tools/perf/Documentation/perf-top.txt | 2 +- tools/perf/Documentation/perf-trace.txt | 32 + tools/perf/Makefile.perf | 15 +- tools/perf/arch/powerpc/Makefile | 1 + tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +- tools/perf/arch/powerpc/util/sym-handling.c | 43 +- tools/perf/arch/x86/Makefile | 23 + tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 376 +++++++ tools/perf/arch/x86/entry/syscalls/syscalltbl.sh | 39 + tools/perf/arch/x86/tests/perf-time-to-tsc.c | 2 +- tools/perf/arch/x86/util/dwarf-regs.c | 8 +- tools/perf/arch/x86/util/intel-bts.c | 5 + tools/perf/arch/x86/util/intel-pt.c | 5 + tools/perf/arch/x86/util/tsc.c | 32 +- tools/perf/arch/x86/util/tsc.h | 17 - tools/perf/bench/futex-lock-pi.c | 2 +- tools/perf/bench/futex.h | 6 +- tools/perf/bench/mem-functions.c | 22 +- tools/perf/builtin-config.c | 39 +- tools/perf/builtin-diff.c | 4 +- tools/perf/builtin-help.c | 18 +- tools/perf/builtin-inject.c | 1 + tools/perf/builtin-kmem.c | 2 +- tools/perf/builtin-kvm.c | 2 +- tools/perf/builtin-mem.c | 11 +- tools/perf/builtin-record.c | 267 ++++- tools/perf/builtin-report.c | 19 +- tools/perf/builtin-sched.c | 198 +++- tools/perf/builtin-script.c | 124 ++- tools/perf/builtin-stat.c | 8 + tools/perf/builtin-top.c | 39 +- tools/perf/builtin-trace.c | 1085 ++++++++------------ tools/perf/config/Makefile | 11 +- tools/perf/jvmti/jvmti_agent.c | 43 +- tools/perf/perf.c | 16 +- tools/perf/perf.h | 1 - tools/perf/scripts/python/export-to-postgresql.py | 52 +- tools/perf/tests/Build | 2 + tools/perf/tests/backward-ring-buffer.c | 151 +++ tools/perf/tests/bpf.c | 2 +- tools/perf/tests/builtin-test.c | 8 + tools/perf/tests/code-reading.c | 2 +- tools/perf/tests/dso-data.c | 2 +- tools/perf/tests/event-times.c | 236 +++++ tools/perf/tests/event_update.c | 2 +- tools/perf/tests/hists_common.c | 2 +- tools/perf/tests/hists_cumulate.c | 4 +- tools/perf/tests/hists_filter.c | 2 +- tools/perf/tests/hists_link.c | 4 +- tools/perf/tests/hists_output.c | 4 +- tools/perf/tests/keep-tracking.c | 2 +- tools/perf/tests/openat-syscall-tp-fields.c | 2 +- tools/perf/tests/perf-record.c | 2 +- tools/perf/tests/switch-tracking.c | 2 +- tools/perf/tests/tests.h | 2 + tools/perf/tests/vmlinux-kallsyms.c | 11 +- tools/perf/trace/beauty/eventfd.c | 38 + tools/perf/trace/beauty/flock.c | 31 + tools/perf/trace/beauty/futex_op.c | 44 + tools/perf/trace/beauty/mmap.c | 158 +++ tools/perf/trace/beauty/mode_t.c | 68 ++ tools/perf/trace/beauty/msg_flags.c | 62 ++ tools/perf/trace/beauty/open_flags.c | 56 + tools/perf/trace/beauty/perf_event_open.c | 43 + tools/perf/trace/beauty/pid.c | 21 + tools/perf/trace/beauty/sched_policy.c | 44 + tools/perf/trace/beauty/seccomp.c | 52 + tools/perf/trace/beauty/signum.c | 53 + tools/perf/trace/beauty/socket_type.c | 60 ++ tools/perf/trace/beauty/waitid_options.c | 26 + tools/perf/ui/browsers/hists.c | 40 +- tools/perf/ui/gtk/hists.c | 2 +- tools/perf/ui/hist.c | 2 +- tools/perf/ui/stdio/hist.c | 3 +- tools/perf/util/Build | 8 +- tools/perf/util/annotate.c | 4 +- tools/perf/util/auxtrace.c | 7 + tools/perf/util/auxtrace.h | 2 + tools/perf/util/bpf-loader.c | 143 +++ tools/perf/util/bpf-loader.h | 19 + tools/perf/util/build-id.c | 36 +- tools/perf/util/cache.h | 19 - tools/perf/util/call-path.c | 122 +++ tools/perf/util/call-path.h | 77 ++ tools/perf/util/callchain.c | 9 +- tools/perf/util/callchain.h | 9 +- tools/perf/util/config.c | 222 +++- tools/perf/util/config.h | 26 + tools/perf/util/cpumap.c | 12 + tools/perf/util/cpumap.h | 2 + tools/perf/util/data.c | 41 + tools/perf/util/data.h | 11 +- tools/perf/util/db-export.c | 89 +- tools/perf/util/db-export.h | 3 + tools/perf/util/dso.c | 4 +- tools/perf/util/dwarf-aux.c | 61 +- tools/perf/util/event.c | 13 +- tools/perf/util/event.h | 9 + tools/perf/util/evlist.c | 174 +++- tools/perf/util/evlist.h | 22 +- tools/perf/util/evsel.c | 139 +-- tools/perf/util/evsel.h | 28 +- tools/perf/util/evsel_fprintf.c | 212 ++++ tools/perf/util/header.c | 33 +- tools/perf/util/help-unknown-cmd.c | 30 +- tools/perf/util/hist.c | 23 +- tools/perf/util/hist.h | 12 +- tools/perf/util/intel-bts.c | 5 + .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 2 +- tools/perf/util/intel-pt.c | 22 +- tools/perf/util/jitdump.c | 41 +- tools/perf/util/jitdump.h | 3 + tools/perf/util/machine.c | 105 +- tools/perf/util/machine.h | 7 + tools/perf/util/map.c | 16 +- tools/perf/util/ordered-events.c | 9 + tools/perf/util/ordered-events.h | 1 + tools/perf/util/parse-events.c | 60 +- tools/perf/util/pmu.c | 23 +- tools/perf/util/probe-event.c | 406 ++++---- tools/perf/util/probe-event.h | 5 +- tools/perf/util/probe-file.c | 3 +- tools/perf/util/probe-finder.c | 36 +- tools/perf/util/python-ext-sources | 1 + tools/perf/util/quote.c | 36 +- tools/perf/util/quote.h | 2 +- tools/perf/util/rb_resort.h | 149 +++ tools/perf/util/record.c | 5 +- .../perf/util/scripting-engines/trace-event-perl.c | 126 ++- .../util/scripting-engines/trace-event-python.c | 47 +- tools/perf/util/session.c | 115 +-- tools/perf/util/session.h | 12 +- tools/perf/util/sort.c | 35 +- tools/perf/util/sort.h | 7 - tools/perf/util/stat.c | 4 +- tools/perf/util/strbuf.c | 93 +- tools/perf/util/strbuf.h | 25 +- tools/perf/util/symbol-elf.c | 20 +- tools/perf/util/symbol.c | 108 +- tools/perf/util/symbol.h | 19 +- tools/perf/util/symbol_fprintf.c | 71 ++ tools/perf/util/syscalltbl.c | 134 +++ tools/perf/util/syscalltbl.h | 20 + tools/perf/util/thread-stack.c | 139 +-- tools/perf/util/thread-stack.h | 31 +- tools/perf/util/thread.c | 21 +- tools/perf/util/thread.h | 8 + tools/perf/util/thread_map.c | 22 +- tools/perf/util/thread_map.h | 3 + tools/perf/util/tool.h | 1 + tools/perf/util/trigger.h | 94 ++ tools/perf/util/tsc.h | 21 +- tools/perf/util/unwind-libunwind.c | 25 +- tools/perf/util/util.c | 38 +- tools/perf/util/util.h | 15 +- tools/perf/util/wrapper.c | 29 - 221 files changed, 8454 insertions(+), 2811 deletions(-) create mode 100644 arch/x86/events/Kconfig create mode 100644 arch/x86/events/intel/Makefile create mode 100644 tools/build/feature/test-dwarf_getlocations.c create mode 100644 tools/build/feature/test-libunwind-aarch64.c create mode 100644 tools/build/feature/test-libunwind-arm.c create mode 100644 tools/build/feature/test-libunwind-debug-frame-aarch64.c create mode 100644 tools/build/feature/test-libunwind-debug-frame-arm.c create mode 100644 tools/build/feature/test-libunwind-x86.c create mode 100644 tools/build/feature/test-libunwind-x86_64.c create mode 100644 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl create mode 100755 tools/perf/arch/x86/entry/syscalls/syscalltbl.sh delete mode 100644 tools/perf/arch/x86/util/tsc.h create mode 100644 tools/perf/tests/backward-ring-buffer.c create mode 100644 tools/perf/tests/event-times.c create mode 100644 tools/perf/trace/beauty/eventfd.c create mode 100644 tools/perf/trace/beauty/flock.c create mode 100644 tools/perf/trace/beauty/futex_op.c create mode 100644 tools/perf/trace/beauty/mmap.c create mode 100644 tools/perf/trace/beauty/mode_t.c create mode 100644 tools/perf/trace/beauty/msg_flags.c create mode 100644 tools/perf/trace/beauty/open_flags.c create mode 100644 tools/perf/trace/beauty/perf_event_open.c create mode 100644 tools/perf/trace/beauty/pid.c create mode 100644 tools/perf/trace/beauty/sched_policy.c create mode 100644 tools/perf/trace/beauty/seccomp.c create mode 100644 tools/perf/trace/beauty/signum.c create mode 100644 tools/perf/trace/beauty/socket_type.c create mode 100644 tools/perf/trace/beauty/waitid_options.c create mode 100644 tools/perf/util/call-path.c create mode 100644 tools/perf/util/call-path.h create mode 100644 tools/perf/util/config.h create mode 100644 tools/perf/util/evsel_fprintf.c create mode 100644 tools/perf/util/rb_resort.h create mode 100644 tools/perf/util/symbol_fprintf.c create mode 100644 tools/perf/util/syscalltbl.c create mode 100644 tools/perf/util/syscalltbl.h create mode 100644 tools/perf/util/trigger.h delete mode 100644 tools/perf/util/wrapper.c
[ ... diff skipped due to size ... ]