[GIT PULL] perf changes for v4.16

From: Ingo Molnar
Date: Mon Jan 29 2018 - 05:56:08 EST


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