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 ... ]