Messages in this thread | | | Date | Mon, 29 Jan 2018 11:55:56 +0100 | From | Ingo Molnar <> | Subject | [GIT PULL] perf changes for v4.16 |
| |
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: e4c1091cb495d9cbec8956d642644a71a1689958 Merge tag 'perf-core-for-mingo-4.16-20180125' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Kernel side changes:
- Clean up the x86 instruction decoder (Masami Hiramatsu)
- Add new uprobes optimization for PUSH instructions on x86 (Yonghong Song)
- Add MSR_IA32_THERM_STATUS to the MSR events (Stephane Eranian)
- Fix misc bugs, update documentation, plus various cleanups (Jiri Olsa)
There's a large number of tooling side improvements:
- Intel-PT/BTS improvements (Adrian Hunter)
- Numerous 'perf trace' improvements (Arnaldo Carvalho de Melo)
- Introduce an errno code to string facility (Hendrik Brueckner)
- Various build system improvements (Jiri Olsa)
- Add support for CoreSight trace decoding by making the perf tools use the external openCSD (Mathieu Poirier, Tor Jeremiassen)
- Add ARM Statistical Profiling Extensions (SPE) support (Kim Phillips)
- libtraceevent updates (Steven Rostedt)
- Intel vendor event JSON updates (Andi Kleen)
- Introduce 'perf report --mmaps' and 'perf report --tasks' to show info present in 'perf.data' (Jiri Olsa, Arnaldo Carvalho de Melo)
- Add infrastructure to record first and last sample time to the perf.data file header, so that when processing all samples in a 'perf record' session, such as when doing build-id processing, or when specifically requesting that that info be recorded, use that in 'perf report --time', that also got support for percent slices in addition to absolute ones.
I.e. now it is possible to ask for the samples in the 10%-20% time slice of a perf.data file (Jin Yao)
- Allow system wide 'perf stat --per-thread', sorting the result (Jin Yao)
E.g.:
[root@jouet ~]# perf stat --per-thread --metrics IPC ^C Performance counter stats for 'system wide':
make-22229 23,012,094,032 inst_retired.any # 0.8 IPC cc1-22419 692,027,497 inst_retired.any # 0.8 IPC gcc-22418 328,231,855 inst_retired.any # 0.9 IPC cc1-22509 220,853,647 inst_retired.any # 0.8 IPC gcc-22486 199,874,810 inst_retired.any # 1.0 IPC as-22466 177,896,365 inst_retired.any # 0.9 IPC cc1-22465 150,732,374 inst_retired.any # 0.8 IPC gcc-22508 112,555,593 inst_retired.any # 0.9 IPC cc1-22487 108,964,079 inst_retired.any # 0.7 IPC qemu-system-x86-2697 21,330,550 inst_retired.any # 0.3 IPC systemd-journal-551 20,642,951 inst_retired.any # 0.4 IPC docker-containe-17651 9,552,892 inst_retired.any # 0.5 IPC dockerd-current-9809 7,528,586 inst_retired.any # 0.5 IPC make-22153 12,504,194,380 inst_retired.any # 0.8 IPC python2-22429 12,081,290,954 inst_retired.any # 0.8 IPC <SNIP> python2-22429 15,026,328,103 cpu_clk_unhalted.thread cc1-22419 826,660,193 cpu_clk_unhalted.thread gcc-22418 365,321,295 cpu_clk_unhalted.thread cc1-22509 279,169,362 cpu_clk_unhalted.thread gcc-22486 210,156,950 cpu_clk_unhalted.thread <SNIP>
5.638075538 seconds time elapsed
[root@jouet ~]#
- Improve shell auto-completion of perf events (Jin Yao)
- 'perf probe' improvements (Masami Hiramatsu)
- Improve PMU infrastructure to support amp64's ThunderX2 implementation defined core events (Ganapatrao Kulkarni)
- Various annotation related improvements and fixes (Thomas Richter)
- Clarify usage of 'overwrite' and 'backward' in the evlist/mmap code, removing the 'overwrite' parameter from several functions as it was always used it as 'false' (Wang Nan)
- Fix/improve 'perf record' reverse recording support (Wang Nan)
- Improve command line options documentation (Sihyeon Jang)
- Optimize sample parsing for ordering events, where we don't need to parse all the PERF_SAMPLE_ bits, just the ones leading to the timestamp needed to reorder events (Jiri Olsa)
- Generalize the annotation code to support other source information besides objdump/DWARF obtained ones, starting with python scripts, that will is slated to be merged soon (Jiri Olsa)
- ... and a lot more that I failed to list, see the shortlog and changelog for details.
Thanks,
Ingo
------------------> Adrian Hunter (4): perf intel-pt: Improve build messages for files that differ from the kernel perf intel-pt/bts: Do not swap when synthesizing samples perf evsel: Ensure reserved member of PERF_SAMPLE_CPU is zero in perf_event__synthesize_sample() perf tools: Get rid of unused 'swapped' parameter from perf_event__synthesize_sample()
Andi Kleen (20): perf record: Fix -c/-F options for cpu event aliases perf evsel: Enable type checking for perf_evsel_config_term types perf tools: Document some missing perf.data headers perf script: Allow printing period for non freq mode groups perf record: Synthesize unit/scale/... in event update perf record: Synthesize thread map and cpu map perf script: Allow computing 'perf stat' style metrics perf vendor events intel: Update Broadwell events to V22 perf vendor events intel: Update BroadwellX events to V13 perf vendor events intel: Update Goldmont events to V12 perf vendor events intel: Update Haswell events to V27 perf vendor events intel: Update HaswellX events to V19 perf vendor events intel: Update IvyBridge events to V20 perf vendor events intel: Update IvyTown events to V20 perf vendor events intel: Update Silvermont events to V14 perf vendor events intel: Update Skylake events to V36 perf vendor events intel: Update SkylakeX events to V1.06 perf vendor events intel: Update BroadwellDE events to V7 perf vendor events intel: Update IvyBridge files to V20 perf vendor events intel: Update IvyTown files to V20
Andrei Vagin (1): perf trace: Fix an exit code of trace__symbols_init
Arnaldo Carvalho de Melo (42): perf evlist: Set the correct idx when adding dummy events perf record: Generate PERF_RECORD_{MMAP,COMM,EXEC} with --delay tools headers: Synchronize kernel ABI headers wrt SPDX tags perf evsel: Fix up leftover perf_evsel_stat usage via evsel->priv perf script: Fix --per-event-dump for auxtrace synth evsels perf machine: Guard against NULL in machine__exit() perf evlist: Add helper to check if attr.exclude_kernel is set in all evsels perf report: Ignore kptr_restrict when not sampling the kernel perf record: Ignore kptr_restrict when not sampling the kernel perf top: Ignore kptr_restrict when not sampling the kernel perf report: Fix -D output for user metadata events Documentation: Add Arnaldo Melo to list of enforcement statement endorsers tools build feature: Check if pthread_barrier_t is available perf thread_map: Add method to map all threads in the system x86/asm: Allow again using asm.h when building for the 'bpf' clang target perf annotate: Get the cpuid from evsel->evlist->env in symbol__annotate() perf annotate: Use perf_env when obtaining the arch name perf env: Adopt perf_env__arch() from the annotate code Revert "perf s390: Always build with -fPIC" perf test bpf: Improve message about expected samples perf test bpf: Use designated struct field initializers perf test bpf: Hook on epoll_pwait() perf trace: Beautify 'gettid' syscall result perf report: Introduce --mmaps tools headers: Synchronize kernel <-> tooling headers perf trace: No need to set PERF_SAMPLE_IDENTIFIER explicitely perf evsel: Check if callchain is enabled before setting it up perf trace: Fix setting of --call-graph/--max-stack for non-syscall events perf callchain: Fix attr.sample_max_stack setting perf unwind: Do not look just at the global callchain_param.record_mode perf trace: Setup DWARF callchains for non-syscall events when --max-stack is used perf trace: Allow overriding global --max-stack per event perf callchains: Ask for PERF_RECORD_MMAP for data mmaps for DWARF unwinding perf tools: Use ui__error() for reporting --fields errors perf bpf: Don't warn about unavailability of builtin clang, just fallback perf tools: Move conditional O_CLOEXEC to util.h perf bpf: Remove misplaced __maybe_unused attribute perf trace: Add --print-sample perf trace: Do not print from time delta for interrupted syscall lines perf trace beauty futex: Beautify FUTEX_BITSET_MATCH_ANY perf evlist: Remove fcntl.h from evlist.h perf trace beauty flock: Move to separate object file
Davidlohr Bueso (1): perf bench futex: Use cpumaps
Federico Vaga (1): tools lib traceevent: Use asprintf when possible
Ganapatrao Kulkarni (5): perf pmu: Pass pmu as a parameter to get_cpuid_str() perf tools arm64: Add support for get_cpuid_str function. perf pmu: Add helper function is_pmu_core to detect PMU CORE devices perf vendor events arm64: Add ThunderX2 implementation defined pmu core events perf pmu: Add check for valid cpuid in perf_pmu__find_map()
Hansuk Hong (1): perf buildid-cache: Document for Node.js USDT
Hendrik Brueckner (10): perf s390: Always build with -fPIC tools include s390: Grab a copy of arch/s390/include/uapi/asm/unistd.h perf s390: Generate system call table from asm/unistd.h perf trace: Use generated syscall table on s390 too perf s390: Always build with -fPIC tools include arch: Grab a copy of errno.h for arch's supported by perf tools include asm-generic: Grab errno.h and errno-base.h perf util: Introduce architecture specific errno/name mapping perf trace: Obtain errno strings by using arch_syscalls__strerrno() perf trace: Remove audit-libs dependency if syscall tables are present
Ingo Molnar (2): tools headers: Follow the upstream UAPI header version 100% differ from the kernel perf/x86/msr: Clean up the code
James Yang (1): perf bench futex: Sync waker threads
Jan Kiszka (1): tools lib traceevent: Print value of unknown symbolic fields
Jin Yao (32): perf rblist: Create rblist__exit() function perf stat: Add rbtree node_delete op perf stat: Define a structure for per-thread shadow stats perf stat: Extend rbtree to support per-thread shadow stats perf stat: Create the runtime_stat init/exit function perf stat: Update per-thread shadow stats perf stat: Print per-thread shadow stats perf stat: Remove a set of shadow stats static variables perf stat: Allocate shadow stats buffer for threads perf stat: Update or print per-thread stats perf thread_map: Enumerate all threads from /proc perf stat: Remove --per-thread pid/tid limitation perf stat: Resort '--per-thread' result perf tool: Improve bash command line auto-complete for multiple events with comma perf tools: Return all events as auto-completions after comma perf tools: Auto-complete for events with ':' perf report: Fix a wrong offset issue when using /proc/kcore perf report: Fix a no annotate browser displayed issue perf header: Add infrastructure to record first and last sample time perf record: Record the first and last sample time in the header perf tools: Create function to parse time percent perf tools: Create function to perform multiple time range checking perf report: Support time percent and multiple time ranges perf script: Support time percent and multiple time ranges perf report: Improve error msg when no first/last sample time found perf script: Improve error msg when no first/last sample time found perf util: Improve error checking for time percent input perf util: Support no index time percent slice perf report: Add an indication of what time slices are used perf util: Allocate time slices buffer according to number of comma perf report: Remove the time slices number limitation perf script: Remove the time slices number limitation
Jiri Olsa (64): perf annotate: Add annotation_line struct perf annotate: Move line/offset into annotation_line struct perf annotate: Move ipc/cycles into annotation_line struct perf annotate: Add symbol__annotate function perf annotate: Add struct annotate_args perf annotate: Add arch into struct annotate_args perf annotate: Add map into struct annotate_args perf annotate: Add offset/line/line_nr into struct annotate_args perf annotate: Add evsel into struct annotation_line_args perf annotate: Add annotation_line__next function perf annotate: Add annotation_line__add function perf annotate: Move rb_node to struct annotation_line perf annotate: Add annotation_line__(new|delete) functions perf annotate: Add annotated_source__purge function perf annotate: Add samples into struct annotation_line perf annotate: Add symbol__calc_percent function perf annotate: Add symbol__calc_lines function perf annotate: Remove disasm__calc_percent() from disasm_line__print() perf annotate: Remove disasm__calc_percent() from annotate_browser__calc_percent() perf annotate: Remove disasm__calc_percent function perf annotate: Remove struct source_line perf annotate: Add annotation_line__print function perf annotate: Factor annotation_line__print from disasm_line__print perf annotate browser: Use samples data from struct annotation_line perf annotate browser: Do not pass nr_events in disasm_rb_tree__insert perf annotate browser: Rename struct browser_disasm_line to browser_line perf annotate browser: Rename disasm_line__browser to browser_line perf annotate browser: Change selection to struct annotation_line perf annotate browser: Change offsets to struct annotation_line perf annotate browser: Use struct annotation_line in browser_line perf annotate browser: Use struct annotation_line in find functions perf annotate browser: Use struct annotation_line in browser top perf annotate browser: Add disasm_line__write function perf annotate: Align source and offset lines perf tools: Use shell function for perl cflags retrieval perf: Fix header.size for namespace events perf callchain: Reset cursor arg instead of callchain_cursor perf evsel: Centralize perf_sample initialization perf evlist: Add perf_evlist__parse_sample_timestamp function perf ordered_events: Pass timestamp arg in perf_session__queue_event perf tools: Optimize sample parsing for ordered events perf top: Fix window dimensions change handling perf top: Use signal interface for SIGWINCH handler perf top: Fix crash when annotating symbol perf tools: Change (symbol|annotation)__calc_percent return type to void perf tools: Move symbol__calc_percent() call to outside symbol__disassemble() perf tools: Fix up build in hardnened environments perf utils: Move is_directory() to path.h perf test: Handle properly readdir DT_UNKNOWN perf evsel: Fix swap for samples with raw data perf tools: Enable LIBBABELTRACE by default perf tools: Display perf_event_attr::namespaces debug info perf: Allocate context task_ctx_data for child event perf: Add sample_id to PERF_RECORD_ITRACE_START event comment perf: Make perf_callchain function static perf: Return empty callchain instead of NULL perf: Update PERF_RECORD_MISC_* comment for perf_event_header::misc bit 13 perf script: Add support to display sample misc field perf script: Add support to display lost events perf tools: Make the tool's warning messages optional perf report: Add --stats option to display quick data statistics perf report: Add --tasks option to display monitored tasks perf tools: Fix copyfile_offset update of output offset perf build: Display EXTRA features for VF=1 build
Kan Liang (1): perf script python: Add script to profile and resolve physical mem type
Kim Phillips (4): perf c2c: Fix spelling mistakes in browser help text perf evsel: Say which PMU Hardware event doesn't support sampling/overflow-interrupts perf probe arm64: Fix symbol fixup issues due to ELF type perf tools: Add ARM Statistical Profiling Extensions (SPE) support
Luis de Bethencourt (1): perf evlist: Remove trailing semicolon
Masami Hiramatsu (9): x86/tools: Rename test_get_len to insn_decoder_test x86/tools: Rename distill.awk to objdump_reformat.awk x86/tools: Standardize output format of insn_decode_test perf probe: Add warning message if there is unexpected event name perf probe: Cut off the version suffix from event name perf probe: Add __return suffix for return events perf probe: Find versioned symbols from map perf string: Add {strdup,strpbrk}_esc() perf probe: Support escaped character in parser
Mathieu Poirier (10): perf evsel: Fix incorrect handling of type _TERM_DRV_CFG perf report: Fix regression when decoding intel_pt traces perf tools: Integrating the CoreSight decoding library perf tools: Add initial entry point for decoder CoreSight traces perf tools: Add decoder mechanic to support dumping trace data perf tools: Add support for decoding CoreSight trace data perf tools: Add functionality to communicate with the openCSD decoder pert tools: Add queue management functionality perf tools: Add full support for CoreSight trace decoding perf tools: Add mechanic to synthesise CoreSight trace packets
Mengting Zhang (1): perf evsel: Enable ignore_missing_thread for pid option
Michael Petlan (1): perf test shell: Fix check open filename arg using 'perf trace'
Michael Sartain (2): tools lib traceevent: Fix bad force_token escape sequence tools lib traceevent: Add UL suffix to MISSING_EVENTS
Namhyung Kim (1): perf help: Fix a bug during strstart() conversion
Pravin Shedge (1): perf perf: Remove duplicate includes
Ravi Bangoria (1): perf annotate: Do not truncate instruction names at 6 chars
Sangwon Hong (1): perf c2c: Add a tip about cacheline events
Seokho Song (1): perf report: Set browser mode right before setup_browser()
Seonghyun Park (1): perf tests: Add missing WRITE_ASS for new fields of perf_event_attr
Sihyeon Jang (9): perf top: Document missing options perf top: Remove a duplicate word perf lock: Document missing options perf inject: Document missing options perf trace: Document missing option, colons perf timechart: Document missing --force option perf sched: Document missing --force option perf evlist: Document missing --force option perf buildid-cache: Document missing --force option
Stephane Eranian (1): perf/x86/msr: Add support for MSR_IA32_THERM_STATUS
Steven Rostedt (VMware) (5): tools lib traceevent: Show value of flags that have not been parsed tools lib traceevent: Simplify pointer print logic and fix %pF tools lib traceevent: Handle new pointer processing of bprint strings tools lib traceevent: Show contents (in hex) of data of unrecognized type records tools lib traceevent: Fix get_field_str() for dynamic strings
Sukadev Bhattiprolu (1): perf vendor events powerpc: Update POWER9 events
Taeung Song (1): tools lib traceevent: Fix missing break in FALSE case of pevent_filter_clear_trivial()
Thomas Richter (6): perf test shell: Fix check open filename arg using 'perf trace' on s390x perf test shell: Fix test case probe libc's inet_pton on s390x perf test: Disable test cases 19 and 20 on s390x perf annotate: Fix unnecessary memory allocation for s390x perf annotate: Fix objdump comment parsing for Intel mov dissassembly perf record: Fix failed memory allocation for get_cpuid_str
Thomas-Mich Richter (1): perf buildid-cache: Update help text for purge command
Tor Jeremiassen (2): perf tools: Add processing of coresight metadata MAINTAINERS: Adding entry for CoreSight trace decoding
Wang Nan (13): perf tests: Set evlist of test__backward_ring_buffer() to !overwrite perf tests: Set evlist of test__sw_clock_freq() to !overwrite perf tests: Set evlist of test__basic_mmap() to !overwrite perf tests: Set evlist of test__task_exit() to !overwrite perf evlist: Remove 'overwrite' parameter from perf_evlist__mmap perf evlist: Remove 'overwrite' parameter from perf_evlist__mmap_ex perf evlist: Remove evlist->overwrite perf mmap: Remove overwrite from arguments list of perf_mmap__push perf mmap: Remove overwrite and check_messup from mmap read perf mmap: Fix perf backward recording perf mmap: Don't discard prev in backward mode perf tools: Rename 'backward' to 'overwrite' in evlist, mmap and record perf tools: Fix compile error with libunwind x86
Wang YanQing (1): perf symbols: Using O_CLOEXEC in do_open
William Cohen (1): perf vendor events: Use more flexible pattern matching for CPU identification for mapfile.csv
Yonghong Song (1): uprobes/x86: Emulate push insns for uprobe on x86
.../process/kernel-enforcement-statement.rst | 1 + MAINTAINERS | 3 +- arch/x86/events/msr.c | 70 +- arch/x86/include/asm/uprobes.h | 4 + arch/x86/kernel/uprobes.c | 107 +- arch/x86/tools/Makefile | 12 +- .../tools/{test_get_len.c => insn_decoder_test.c} | 43 +- .../tools/{distill.awk => objdump_reformat.awk} | 4 +- include/uapi/linux/perf_event.h | 10 +- kernel/events/callchain.c | 15 - kernel/events/core.c | 54 +- kernel/events/internal.h | 4 - tools/arch/alpha/include/uapi/asm/errno.h | 128 + tools/arch/mips/include/asm/errno.h | 17 + tools/arch/mips/include/uapi/asm/errno.h | 130 + tools/arch/parisc/include/uapi/asm/errno.h | 128 + tools/arch/powerpc/include/uapi/asm/errno.h | 10 + tools/arch/s390/include/uapi/asm/unistd.h | 412 ++ tools/arch/sparc/include/uapi/asm/errno.h | 118 + tools/arch/x86/include/asm/cpufeatures.h | 4 +- tools/arch/x86/include/asm/disabled-features.h | 8 +- tools/arch/x86/include/uapi/asm/errno.h | 1 + tools/build/Makefile.feature | 4 +- tools/build/feature/Makefile | 11 +- tools/build/feature/test-all.c | 10 + tools/build/feature/test-libopencsd.c | 8 + tools/build/feature/test-pthread-barrier.c | 12 + tools/include/uapi/asm-generic/errno-base.h | 40 + tools/include/uapi/asm-generic/errno.h | 123 + tools/include/uapi/linux/perf_event.h | 10 +- tools/lib/traceevent/event-parse.c | 62 +- tools/lib/traceevent/event-plugin.c | 24 +- tools/lib/traceevent/kbuffer-parse.c | 4 +- tools/lib/traceevent/parse-filter.c | 22 +- tools/perf/Build | 4 +- tools/perf/Documentation/perf-buildid-cache.txt | 3 + tools/perf/Documentation/perf-evlist.txt | 4 + tools/perf/Documentation/perf-inject.txt | 4 + tools/perf/Documentation/perf-lock.txt | 4 + tools/perf/Documentation/perf-probe.txt | 18 +- tools/perf/Documentation/perf-record.txt | 3 + tools/perf/Documentation/perf-report.txt | 37 +- tools/perf/Documentation/perf-sched.txt | 4 + tools/perf/Documentation/perf-script.txt | 47 +- tools/perf/Documentation/perf-timechart.txt | 4 +- tools/perf/Documentation/perf-top.txt | 6 + tools/perf/Documentation/perf-trace.txt | 20 +- tools/perf/Documentation/perf.data-file-format.txt | 27 + tools/perf/Documentation/tips.txt | 2 + tools/perf/Makefile.config | 65 +- tools/perf/Makefile.perf | 17 +- tools/perf/arch/arm/util/auxtrace.c | 77 +- tools/perf/arch/arm/util/pmu.c | 6 + tools/perf/arch/arm64/util/Build | 5 +- tools/perf/arch/arm64/util/arm-spe.c | 225 + tools/perf/arch/arm64/util/header.c | 65 + tools/perf/arch/arm64/util/sym-handling.c | 22 + tools/perf/arch/common.c | 44 +- tools/perf/arch/common.h | 1 - tools/perf/arch/powerpc/util/header.c | 2 +- tools/perf/arch/powerpc/util/sym-handling.c | 8 + tools/perf/arch/s390/Makefile | 21 + tools/perf/arch/s390/annotate/instructions.c | 3 +- tools/perf/arch/s390/entry/syscalls/mksyscalltbl | 36 + tools/perf/arch/x86/tests/perf-time-to-tsc.c | 2 +- tools/perf/arch/x86/util/header.c | 4 +- tools/perf/arch/x86/util/unwind-libunwind.c | 2 +- tools/perf/bench/futex-hash.c | 20 +- tools/perf/bench/futex-lock-pi.c | 23 +- tools/perf/bench/futex-requeue.c | 22 +- tools/perf/bench/futex-wake-parallel.c | 46 +- tools/perf/bench/futex-wake.c | 18 +- tools/perf/builtin-buildid-cache.c | 4 +- tools/perf/builtin-c2c.c | 16 +- tools/perf/builtin-help.c | 2 +- tools/perf/builtin-inject.c | 3 +- tools/perf/builtin-kvm.c | 13 +- tools/perf/builtin-record.c | 63 +- tools/perf/builtin-report.c | 283 +- tools/perf/builtin-script.c | 266 +- tools/perf/builtin-stat.c | 230 +- tools/perf/builtin-top.c | 10 +- tools/perf/builtin-trace.c | 122 +- tools/perf/check-headers.sh | 11 +- tools/perf/perf-completion.sh | 47 +- tools/perf/perf.c | 4 +- .../arch/arm64/cavium/thunderx2-imp-def.json | 62 + tools/perf/pmu-events/arch/arm64/mapfile.csv | 15 + tools/perf/pmu-events/arch/powerpc/mapfile.csv | 12 +- .../perf/pmu-events/arch/powerpc/power9/cache.json | 5 - .../pmu-events/arch/powerpc/power9/frontend.json | 7 +- .../pmu-events/arch/powerpc/power9/marked.json | 27 +- .../perf/pmu-events/arch/powerpc/power9/other.json | 276 +- .../pmu-events/arch/powerpc/power9/pipeline.json | 14 +- tools/perf/pmu-events/arch/powerpc/power9/pmc.json | 2 +- .../arch/powerpc/power9/translation.json | 5 - .../perf/pmu-events/arch/x86/broadwell/cache.json | 555 ++- .../arch/x86/broadwell/floating-point.json | 108 +- .../pmu-events/arch/x86/broadwell/frontend.json | 138 +- .../perf/pmu-events/arch/x86/broadwell/memory.json | 210 +- .../perf/pmu-events/arch/x86/broadwell/other.json | 20 +- .../pmu-events/arch/x86/broadwell/pipeline.json | 1216 +++--- .../arch/x86/broadwell/virtual-memory.json | 150 +- .../pmu-events/arch/x86/broadwellde/cache.json | 389 +- .../arch/x86/broadwellde/floating-point.json | 108 +- .../pmu-events/arch/x86/broadwellde/frontend.json | 138 +- .../pmu-events/arch/x86/broadwellde/memory.json | 9 +- .../pmu-events/arch/x86/broadwellde/other.json | 20 +- .../pmu-events/arch/x86/broadwellde/pipeline.json | 1214 +++--- .../arch/x86/broadwellde/virtual-memory.json | 150 +- .../perf/pmu-events/arch/x86/broadwellx/cache.json | 383 +- .../arch/x86/broadwellx/floating-point.json | 108 +- .../pmu-events/arch/x86/broadwellx/frontend.json | 138 +- .../pmu-events/arch/x86/broadwellx/memory.json | 40 +- .../perf/pmu-events/arch/x86/broadwellx/other.json | 20 +- .../pmu-events/arch/x86/broadwellx/pipeline.json | 1214 +++--- .../arch/x86/broadwellx/virtual-memory.json | 150 +- tools/perf/pmu-events/arch/x86/goldmont/cache.json | 1244 +++++- .../perf/pmu-events/arch/x86/goldmont/memory.json | 280 +- tools/perf/pmu-events/arch/x86/goldmont/other.json | 54 +- .../pmu-events/arch/x86/goldmont/pipeline.json | 506 +-- .../arch/x86/goldmont/virtual-memory.json | 60 +- tools/perf/pmu-events/arch/x86/haswell/cache.json | 365 +- .../arch/x86/haswell/floating-point.json | 20 +- .../perf/pmu-events/arch/x86/haswell/frontend.json | 132 +- tools/perf/pmu-events/arch/x86/haswell/memory.json | 21 + tools/perf/pmu-events/arch/x86/haswell/other.json | 20 +- .../perf/pmu-events/arch/x86/haswell/pipeline.json | 1131 ++--- .../arch/x86/haswell/virtual-memory.json | 212 +- tools/perf/pmu-events/arch/x86/haswellx/cache.json | 377 +- .../arch/x86/haswellx/floating-point.json | 20 +- .../pmu-events/arch/x86/haswellx/frontend.json | 132 +- .../perf/pmu-events/arch/x86/haswellx/memory.json | 28 + tools/perf/pmu-events/arch/x86/haswellx/other.json | 20 +- .../pmu-events/arch/x86/haswellx/pipeline.json | 1133 ++--- .../arch/x86/haswellx/virtual-memory.json | 212 +- .../perf/pmu-events/arch/x86/ivybridge/cache.json | 243 +- .../pmu-events/arch/x86/ivybridge/frontend.json | 122 +- .../perf/pmu-events/arch/x86/ivybridge/memory.json | 24 +- .../perf/pmu-events/arch/x86/ivybridge/other.json | 20 +- .../pmu-events/arch/x86/ivybridge/pipeline.json | 822 ++-- .../arch/x86/ivybridge/virtual-memory.json | 60 +- tools/perf/pmu-events/arch/x86/ivytown/cache.json | 236 +- .../perf/pmu-events/arch/x86/ivytown/frontend.json | 122 +- tools/perf/pmu-events/arch/x86/ivytown/memory.json | 24 +- tools/perf/pmu-events/arch/x86/ivytown/other.json | 20 +- .../perf/pmu-events/arch/x86/ivytown/pipeline.json | 822 ++-- .../arch/x86/ivytown/virtual-memory.json | 60 +- tools/perf/pmu-events/arch/x86/mapfile.csv | 5 +- .../perf/pmu-events/arch/x86/silvermont/cache.json | 3 +- tools/perf/pmu-events/arch/x86/skylake/cache.json | 4390 +++----------------- .../arch/x86/skylake/floating-point.json | 5 +- .../perf/pmu-events/arch/x86/skylake/frontend.json | 232 +- tools/perf/pmu-events/arch/x86/skylake/memory.json | 2118 +--------- tools/perf/pmu-events/arch/x86/skylake/other.json | 40 +- .../perf/pmu-events/arch/x86/skylake/pipeline.json | 973 ++--- .../arch/x86/skylake/virtual-memory.json | 262 +- tools/perf/pmu-events/arch/x86/skylakex/cache.json | 257 +- .../arch/x86/skylakex/floating-point.json | 3 +- .../pmu-events/arch/x86/skylakex/frontend.json | 48 +- .../perf/pmu-events/arch/x86/skylakex/memory.json | 231 +- tools/perf/pmu-events/arch/x86/skylakex/other.json | 94 +- .../pmu-events/arch/x86/skylakex/pipeline.json | 44 +- .../arch/x86/skylakex/virtual-memory.json | 42 +- tools/perf/pmu-events/jevents.c | 39 +- tools/perf/scripts/python/bin/mem-phys-addr-record | 19 + tools/perf/scripts/python/bin/mem-phys-addr-report | 3 + tools/perf/scripts/python/mem-phys-addr.py | 95 + tools/perf/tests/attr.c | 6 + tools/perf/tests/backward-ring-buffer.c | 6 +- tools/perf/tests/bp_signal.c | 2 +- tools/perf/tests/bpf-script-example.c | 4 +- tools/perf/tests/bpf.c | 68 +- tools/perf/tests/builtin-test.c | 10 +- tools/perf/tests/code-reading.c | 2 +- tools/perf/tests/dwarf-unwind.c | 1 + tools/perf/tests/keep-tracking.c | 2 +- tools/perf/tests/mmap-basic.c | 2 +- tools/perf/tests/openat-syscall-tp-fields.c | 5 +- tools/perf/tests/parse-events.c | 1 - tools/perf/tests/perf-record.c | 2 +- tools/perf/tests/sample-parsing.c | 2 +- tools/perf/tests/shell/trace+probe_vfs_getname.sh | 7 +- tools/perf/tests/sw-clock.c | 2 +- tools/perf/tests/switch-tracking.c | 2 +- tools/perf/tests/task-exit.c | 2 +- tools/perf/tests/thread-map.c | 2 +- tools/perf/trace/beauty/Build | 1 + tools/perf/trace/beauty/arch_errno_names.c | 1 + tools/perf/trace/beauty/arch_errno_names.sh | 100 + tools/perf/trace/beauty/beauty.h | 5 + tools/perf/trace/beauty/flock.c | 10 +- tools/perf/trace/beauty/futex_val3.c | 18 + tools/perf/ui/browsers/annotate.c | 399 +- tools/perf/ui/gtk/annotate.c | 25 +- tools/perf/util/Build | 10 +- tools/perf/util/annotate.c | 652 +-- tools/perf/util/annotate.h | 76 +- tools/perf/util/arm-spe-pkt-decoder.c | 462 ++ tools/perf/util/arm-spe-pkt-decoder.h | 43 + tools/perf/util/arm-spe.c | 231 + tools/perf/util/arm-spe.h | 31 + tools/perf/util/auxtrace.c | 8 +- tools/perf/util/auxtrace.h | 1 + tools/perf/util/bpf-loader.c | 4 +- tools/perf/util/callchain.c | 10 + tools/perf/util/callchain.h | 2 + tools/perf/util/cgroup.c | 3 + tools/perf/util/cs-etm-decoder/Build | 1 + tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 513 +++ tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 105 + tools/perf/util/cs-etm.c | 1023 +++++ tools/perf/util/cs-etm.h | 18 + tools/perf/util/data.c | 10 - tools/perf/util/dso.c | 2 +- tools/perf/util/env.c | 47 + tools/perf/util/env.h | 2 + tools/perf/util/event.c | 8 + tools/perf/util/event.h | 4 +- tools/perf/util/evlist.c | 70 +- tools/perf/util/evlist.h | 15 +- tools/perf/util/evsel.c | 227 +- tools/perf/util/evsel.h | 12 +- tools/perf/util/generate-cmdlist.sh | 2 +- tools/perf/util/header.c | 130 +- tools/perf/util/header.h | 9 +- tools/perf/util/intel-bts.c | 6 +- tools/perf/util/intel-pt-decoder/Build | 24 +- tools/perf/util/intel-pt.c | 11 +- tools/perf/util/machine.c | 4 +- tools/perf/util/map.c | 2 +- tools/perf/util/metricgroup.c | 10 +- tools/perf/util/mmap.c | 73 +- tools/perf/util/mmap.h | 4 +- tools/perf/util/ordered-events.c | 3 +- tools/perf/util/ordered-events.h | 2 +- tools/perf/util/parse-events.c | 3 + tools/perf/util/path.c | 14 + tools/perf/util/path.h | 3 + tools/perf/util/pmu.c | 87 +- tools/perf/util/pmu.h | 2 +- tools/perf/util/probe-event.c | 85 +- tools/perf/util/python-ext-sources | 1 + tools/perf/util/python.c | 2 +- tools/perf/util/rblist.c | 19 +- tools/perf/util/rblist.h | 1 + .../util/scripting-engines/trace-event-python.c | 3 +- tools/perf/util/session.c | 54 +- tools/perf/util/session.h | 2 +- tools/perf/util/sort.c | 20 +- tools/perf/util/srcline.c | 9 +- tools/perf/util/srcline.h | 5 +- tools/perf/util/stat-shadow.c | 426 +- tools/perf/util/stat.c | 15 +- tools/perf/util/stat.h | 63 +- tools/perf/util/string.c | 46 + tools/perf/util/string2.h | 2 + tools/perf/util/symbol.c | 5 + tools/perf/util/symbol.h | 1 + tools/perf/util/syscalltbl.c | 4 + tools/perf/util/target.h | 7 + tools/perf/util/thread_map.c | 27 +- tools/perf/util/thread_map.h | 3 +- tools/perf/util/time-utils.c | 301 +- tools/perf/util/time-utils.h | 8 + tools/perf/util/tool.h | 1 + tools/perf/util/unwind-libunwind-local.c | 9 +- tools/perf/util/unwind-libunwind.c | 4 +- tools/perf/util/util.c | 2 +- tools/perf/util/util.h | 10 + 270 files changed, 18523 insertions(+), 15234 deletions(-) rename arch/x86/tools/{test_get_len.c => insn_decoder_test.c} (81%) rename arch/x86/tools/{distill.awk => objdump_reformat.awk} (91%) create mode 100644 tools/arch/alpha/include/uapi/asm/errno.h create mode 100644 tools/arch/mips/include/asm/errno.h create mode 100644 tools/arch/mips/include/uapi/asm/errno.h create mode 100644 tools/arch/parisc/include/uapi/asm/errno.h create mode 100644 tools/arch/powerpc/include/uapi/asm/errno.h create mode 100644 tools/arch/s390/include/uapi/asm/unistd.h create mode 100644 tools/arch/sparc/include/uapi/asm/errno.h create mode 100644 tools/arch/x86/include/uapi/asm/errno.h create mode 100644 tools/build/feature/test-libopencsd.c create mode 100644 tools/build/feature/test-pthread-barrier.c create mode 100644 tools/include/uapi/asm-generic/errno-base.h create mode 100644 tools/include/uapi/asm-generic/errno.h create mode 100644 tools/perf/arch/arm64/util/arm-spe.c create mode 100644 tools/perf/arch/arm64/util/header.c create mode 100644 tools/perf/arch/arm64/util/sym-handling.c create mode 100755 tools/perf/arch/s390/entry/syscalls/mksyscalltbl create mode 100644 tools/perf/pmu-events/arch/arm64/cavium/thunderx2-imp-def.json create mode 100644 tools/perf/pmu-events/arch/arm64/mapfile.csv create mode 100644 tools/perf/scripts/python/bin/mem-phys-addr-record create mode 100644 tools/perf/scripts/python/bin/mem-phys-addr-report create mode 100644 tools/perf/scripts/python/mem-phys-addr.py create mode 100644 tools/perf/trace/beauty/arch_errno_names.c create mode 100755 tools/perf/trace/beauty/arch_errno_names.sh create mode 100644 tools/perf/trace/beauty/futex_val3.c create mode 100644 tools/perf/util/arm-spe-pkt-decoder.c create mode 100644 tools/perf/util/arm-spe-pkt-decoder.h create mode 100644 tools/perf/util/arm-spe.c create mode 100644 tools/perf/util/arm-spe.h create mode 100644 tools/perf/util/cs-etm-decoder/Build create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.c create mode 100644 tools/perf/util/cs-etm-decoder/cs-etm-decoder.h create mode 100644 tools/perf/util/cs-etm.c
| |