[GIT PULL] perf changes for v5.3

From: Ingo Molnar
Date: Tue Jul 09 2019 - 07:38:31 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: d1d59b817939821bee149e870ce7723f61ffb512 Merge tag 'perf-urgent-for-mingo-5.3-20190708-2' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

The main changes in this cycle on the kernel side were:

- CPU PMU and uncore driver updates to Intel Snow Ridge, IceLake,
KabyLake, AmberLake and WhiskeyLake CPUs.

- Rework the MSR probing infrastructure to make it more robust, make it
work better on virtualized systems and to better expose it on sysfs.

- Rework PMU attributes group support based on the feedback from Greg -
the core sysfs patch that adds sysfs_update_groups() was acked by
Greg.

There's a lot of perf tooling changes as well, all around the place:

- vendor updates to Intel, cs-etm (ARM), ARM64, s390,

- various enhancements to Intel PT tooling support:
- Improve CBR (Core to Bus Ratio) packets support.
- Export power and ptwrite events to sqlite and postgresql.
- Add support for decoding PEBS via PT packets.
- Add support for samples to contain IPC ratio, collecting cycles
information from CYC packets, showing the IPC info periodically
- Allow using time ranges

- lots of updates to perf pmu, perf stat, perf trace, eBPF support,
perf record, perf diff, etc. - please see the shortlog and Git log for
details.

Thanks,

Ingo

------------------>
Adrian Hunter (69):
perf-with-kcore.sh: Always allow fix_buildid_cache_permissions
perf intel-pt: Fix itrace defaults for perf script
perf auxtrace: Fix itrace defaults for perf script
perf intel-pt: Fix itrace defaults for perf script intel-pt documentation
perf scripts python: exported-sql-viewer.py: Change python2 to python
perf scripts python: exported-sql-viewer.py: Use argparse module for argument parsing
perf scripts python: exported-sql-viewer.py: Add support for pyside2
perf scripts python: export-to-sqlite.py: Add support for pyside2
perf scripts python: export-to-postgresql.py: Add support for pyside2
perf intel-pt: Improve sync_switch by processing PERF_RECORD_SWITCH* in events
perf intel-pt: Rationalize intel_pt_sync_switch()'s use of next_tid
perf intel-pt: Factor out intel_pt_update_sample_time
perf intel-pt: Accumulate cycle count from CYC packets
perf tools: Add IPC information to perf_sample
perf intel-pt: Add support for samples to contain IPC ratio
perf script: Add output of IPC ratio
perf intel-pt: Record when decoding PSB+ packets
perf intel-pt: Re-factor TIP cases in intel_pt_walk_to_ip
perf intel-pt: Accumulate cycle count from TSC/TMA/MTC packets
perf intel-pt: Document IPC usage
perf thread-stack: Accumulate IPC information
perf db-export: Add brief documentation
perf db-export: Export IPC information
perf scripts python: export-to-sqlite.py: Export IPC information
perf scripts python: export-to-postgresql.py: Export IPC information
perf scripts python: exported-sql-viewer.py: Add IPC information to the Branch reports
perf scripts python: exported-sql-viewer.py: Add CallGraphModelParams
perf scripts python: exported-sql-viewer.py: Add IPC information to Call Graph Graph
perf scripts python: exported-sql-viewer.py: Add IPC information to Call Tree
perf scripts python: exported-sql-viewer.py: Select find text when find bar is activated
perf auxtrace: Add perf time interval to itrace_synth_ops
perf script: Set perf time interval in itrace_synth_ops
perf report: Set perf time interval in itrace_synth_ops
perf intel-pt: Add lookahead callback
perf intel-pt: Factor out intel_pt_8b_tsc()
perf intel-pt: Factor out intel_pt_reposition()
perf intel-pt: Add reposition parameter to intel_pt_get_data()
perf intel-pt: Add intel_pt_fast_forward()
perf intel-pt: Factor out intel_pt_get_buffer()
perf intel-pt: Add support for lookahead
perf intel-pt: Add support for efficient time interval filtering
perf time-utils: Treat time ranges consistently
perf time-utils: Factor out set_percent_time()
perf time-utils: Prevent percentage time range overlap
perf time-utils: Fix --time documentation
perf time-utils: Simplify perf_time__parse_for_ranges() error paths slightly
perf time-utils: Make perf_time__parse_for_ranges() more logical
perf tests: Add a test for time-utils
perf time-utils: Add support for multiple explicit time intervals
perf intel-pt: Add new packets for PEBS via PT
perf intel-pt: Add Intel PT packet decoder test
perf intel-pt: Add decoder support for PEBS via PT
perf intel-pt: Prepare to synthesize PEBS samples
perf intel-pt: Factor out common sample preparation for re-use
perf intel-pt: Synthesize PEBS sample basic information
perf intel-pt: Add gp registers to synthesized PEBS sample
perf intel-pt: Add XMM registers to synthesized PEBS sample
perf intel-pt: Add LBR information to synthesized PEBS sample
perf intel-pt: Add memory information to synthesized PEBS sample
perf intel-pt: Add callchain to synthesized PEBS sample
perf thread-stack: Fix thread stack return from kernel for kernel-only case
perf thread-stack: Eliminate code duplicating thread_stack__pop_ks()
perf intel-pt: Decoder to output CBR changes immediately
perf intel-pt: Cater for CBR change in PSB+
perf intel-pt: Add CBR value to decoder state
perf intel-pt: Synthesize CBR events when last seen value changes
perf db-export: Export synth events
perf scripts python: export-to-sqlite.py: Export Intel PT power and ptwrite events
perf scripts python: export-to-postgresql.py: Export Intel PT power and ptwrite events

Alexey Budankov (1):
perf record: Allow mixing --user-regs with --call-graph=dwarf

Andi Kleen (8):
perf stat: Make metric event lookup more robust
perf stat: Don't merge events in the same PMU
perf stat: Fix group lookup for metric group
perf stat: Fix metrics with --no-merge
perf tools: Fix typos / broken sentences
perf vendor events intel: Metric fixes for SKX/CLX
perf list: Avoid extra : for --raw metrics
perf tools metric: Don't include duration_time in group

Arnaldo Carvalho de Melo (74):
perf augmented_raw_syscalls: Fix up comment
perf beauty: Add generator for 'move_mount' flags argument
perf trace: Beautify 'move_mount' arguments
perf beauty: Add generator for fspick's 'flags' arg values
perf trace: Beautify 'fspick' arguments
perf beauty: Add generator for fsconfig's 'cmd' arg values
perf trace: Beautify 'fsconfig' arguments
perf beauty: Add generator for fsmount's 'attr_flags' arg values
perf trace: Introduce syscall_arg__scnprintf_strarray_flags
perf trace: Beautify 'fsmount' arguments
perf trace beauty clone: Handle CLONE_PIDFD
perf beauty: Add generator for sync_file_range's 'flags' arg values
perf trace: Beautify 'sync_file_range' arguments
perf version: Append 12 git SHA chars to the version string
perf annotate TUI browser: Do not use member from variable within its own initialization
perf python: Remove -fstack-protector-strong if clang doesn't have it
perf top: Lower message level for failure on synthesizing events for pre-existing BPF programs
perf data: Document memory topology header: HEADER_MEM_TOPOLOGY
perf data: Document clockid header: HEADER_CLOCKID
perf data: Document directory format header: HEADER_DIR_FORMAT
perf augmented_raw_syscalls: Tell which args are filenames and how many bytes to copy
perf augmented_raw_syscalls: Move the probe_read_str to a separate function
perf augmented_raw_syscalls: Change helper to consider just the augmented_filename part
perf augmented_raw_syscalls: Move reading filename to the loop
perf trace: Consume the augmented_raw_syscalls payload
perf trace: Associate more argument names with the filename beautifier
perf config: Bail out when a handler returns failure for a key-value pair
perf data: Fix perf.data documentation for HEADER_CPU_TOPOLOGY
perf cs-etm: Remove duplicate GENMASK() define, use linux/bits.h instead
perf trace: Skip unknown syscalls when expanding strace like syscall groups
tools build: Check if gettid() is available before providing helper
perf trace: Fix exclusion of not available syscall names from selector list
perf trace: Streamline validation of select syscall names list
tools build feature tests: Add missing SPDX headers
perf tests: Add missing SPDX headers
perf trace: Fixup pointer arithmetic when consuming augmented syscall args
perf evsel: Make perf_evsel__name() accept a NULL argument
tools build: Add test to check if slang.h is in /usr/include/slang/
perf build: Handle slang being in /usr/include and in /usr/include/slang/
tools build: Fix the zstd test in the test-all.c common case feature test
perf ctype: Remove unused 'graph_line' variable
perf ui stdio: No need to use 'spaces' to left align
perf ctype: Remove now unused 'spaces' variable
perf string: Move 'dots' and 'graph_dotted_line' out of sane_ctype.h
tools x86 machine: Add missing util.h to pick up 'page_size'
perf kallsyms: Adopt hex2u64 from tools/perf/util/util.h
perf symbols: We need util.h in symbol-elf.c for zfree()
perf tools: Remove old baggage that is util/include/linux/ctype.h
perf tools: Add missing util.h to pick up 'page_size' variable
tools perf: Move from sane_ctype.h obtained from git to the Linux's original
perf tools: Use linux/ctype.h in more places
tools lib: Adopt skip_spaces() from the kernel sources
perf stat: Use recently introduced skip_spaces()
perf header: Use skip_spaces() in __write_cpudesc()
perf time-utils: Use skip_spaces()
perf probe: Use skip_spaces() for argv handling
perf strfilter: Use skip_spaces()
perf metricgroup: Use strsep()
perf report: Use skip_spaces()
perf tools: Ditch rtrim(), use skip_spaces() to get closer to the kernel
tools lib: Adopt strim() from the kernel
perf tools: Remove trim() implementation, use tools/lib's strim()
perf tools: Ditch rtrim(), use strim() from tools/lib
tools lib: Adopt strreplace() from the kernel
perf tools: Drop strxfrchar(), use strreplace() equivalent from kernel
tools lib: Move argv_{split,free} from tools/perf/util/
perf script: Allow specifying the files to process guest samples
tools arch kvm: Sync kvm headers with the kernel sources
perf thread: Allow references to thread objects after machine__exit()
perf annotate TUI browser: Do not use member from variable within its own initialization
perf python: Remove -fstack-protector-strong if clang doesn't have it
tools build: Check if gettid() is available before providing helper
Merge remote-tracking branch 'tip/perf/core' into perf/urgent
tools arch x86: Sync asm/cpufeatures.h with the with the kernel

Donald Yandt (1):
perf machine: Return NULL instead of null-terminating /proc/version array

Florian Fainelli (1):
perf tools: Don't hardcode host include path for libslang

Gayatri Kammela (2):
perf/x86/intel/uncore: Add tabs to Uncore IMC PCI IDs
perf/x86/intel/uncore: Add new IMC PCI IDs for KabyLake, AmberLake and WhiskeyLake CPUs

Ian Rogers (1):
perf/cgroups: Don't rotate events for cgroups unnecessarily

Ingo Molnar (13):
Merge tag 'perf-core-for-mingo-5.3-20190529' of git://git.kernel.org/.../acme/linux into perf/core
Merge tag 'v5.2-rc3' into perf/core, to pick up fixes
Merge branch 'x86/topology' into perf/core, to prepare for new patches
Merge branch 'x86/cpu' into perf/core, to pick up dependent changes
Merge tag 'perf-core-for-mingo-5.3-20190611' of git://git.kernel.org/.../acme/linux into perf/core
Merge tag 'perf-core-for-mingo-5.3-20190621' of git://git.kernel.org/.../acme/linux into perf/core
Merge tag 'v5.2-rc6' into perf/core, to refresh branch
Merge branch 'x86/cpu' into perf/core, to pick up dependent patches
Merge tag 'perf-core-for-mingo-5.3-20190701' of git://git.kernel.org/.../acme/linux into perf/core
Merge tag 'perf-core-for-mingo-5.3-20190703' of git://git.kernel.org/.../acme/linux into perf/core
Merge branch 'x86/cpu' into perf/core, to pick up revert
Merge tag 'v5.2' into perf/core, to pick up fixes
Merge tag 'perf-urgent-for-mingo-5.3-20190708-2' of git://git.kernel.org/.../acme/linux into perf/core

Jin Yao (7):
perf symbol: Create block_info structure
perf hists: Add block_info in hist_entry
perf diff: Check if all data files with branch stacks
perf diff: Use hists to manage basic blocks per symbol
perf diff: Link same basic blocks among different data
perf diff: Print the basic block cycles diff
perf diff: Documentation -c cycles option

Jiri Olsa (34):
perf machine: Keep zero in pgoff BPF map
perf tools: Preserve eBPF maps when loading kcore
perf dso: Separate generic code in dso__data_file_size()
perf dso: Separate generic code in dso_cache__read
perf dso: Simplify dso_cache__read function
perf dso: Add BPF DSO read and size hooks
perf script: Pad DSO name for --call-trace
perf tests: Add map_groups__merge_in test
perf script: Add --show-bpf-events to show eBPF related events
perf script: Remove superfluous BPF event titles
sysfs: Add sysfs_update_groups function
perf/core: Add attr_groups_update into struct pmu
perf/x86: Get rid of x86_pmu::event_attrs
perf/x86: Use the new pmu::update_attrs attribute group
perf/x86: Add is_visible attribute_group callback for base events
perf/x86: Use update attribute groups for caps
perf/x86: Use update attribute groups for extra format
perf/x86/intel: Use update attributes for skylake format
perf/x86: Use update attribute groups for default attributes
perf jvmti: Address gcc string overflow warning for strncpy()
perf evsel: Remove superfluous nthreads system_wide setup in alloc_fd()
perf/x86/intel: Use ->is_visible callback for default group
perf/x86/intel: Disable check_msr for real HW
perf/x86: Add MSR probe interface
perf/x86/msr: Use new probe function
perf/x86/cstate: Use new probe function
perf/x86/rapl: Use new MSR detection interface
perf/x86/rapl: Get rapl_cntr_mask from new probe framework
perf/x86/rapl: Get MSR values from new probe framework
perf/x86/rapl: Get attributes from new probe framework
perf/x86/rapl: Get quirk state from new probe framework
objtool: Fix build by linking against tools/lib/ctype.o sources
perf evsel: Do not rely on errno values for precise_ip fallback
perf jvmti: Address gcc string overflow warning for strncpy()

John Garry (5):
perf pmu: Fix uncore PMU alias list for ARM64
perf pmu: Support more complex PMU event aliasing
perf jevents: Add support for Hisi hip08 DDRC PMU aliasing
perf jevents: Add support for Hisi hip08 HHA PMU aliasing
perf jevents: Add support for Hisi hip08 L3C PMU aliasing

Kan Liang (13):
perf cpumap: Retrieve die id information
perf header: Add die information in CPU topology
perf stat: Support per-die aggregation
perf header: Rename "sibling cores" to "sibling sockets"
perf tools: Apply new CPU topology sysfs attributes
perf/x86/intel: Add Icelake desktop CPUID
perf/x86/intel: Add more Icelake CPUIDs
perf/x86/intel/uncore: Handle invalid event coding for free-running counter
perf/x86/intel/uncore: Add uncore support for Snow Ridge server
perf/x86/intel/uncore: Factor out box ref/unref functions
perf/x86/intel/uncore: Support MMIO type uncore blocks
perf/x86/intel/uncore: Clean up client IMC
perf/x86/intel/uncore: Add IMC uncore support for Snow Ridge

Kyle Meyer (1):
perf tools: Increase MAX_NR_CPUS and MAX_CACHES

Leo Yan (3):
perf symbols: Remove unused variable 'err'
perf trace: Exit when failing to build eBPF program
perf config: Update default value for llvm.clang-bpf-cmd-template

Luke Mujica (1):
perf jevents: Use nonlocal include statements in pmu-events.c

Mao Han (1):
perf annotate: Add csky support

Mathieu Poirier (19):
perf cs-etm: Configure contextID tracing in CPU-wide mode
perf cs-etm: Configure timestamp generation in CPU-wide mode
perf cs-etm: Configure SWITCH_EVENTS in CPU-wide mode
perf cs-etm: Add handling of itrace start events
perf cs-etm: Add handling of switch-CPU-wide events
perf cs-etm: Refactor error path in cs_etm_decoder__new()
perf cs-etm: Move packet queue out of decoder structure
perf cs-etm: Fix indentation in function cs_etm__process_decoder_queue()
perf cs-etm: Introduce the concept of trace ID queues
perf cs-etm: Get rid of unused cpu in struct cs_etm_queue
perf cs-etm: Move thread to traceid_queue
perf cs-etm: Move tid/pid to traceid_queue
perf cs-etm: Use traceID aware memory callback API
perf cs-etm: Add support for multiple traceID queues
perf cs-etm: Linking PE contextID with perf thread mechanic
perf cs-etm: Add notion of time to decoding code
perf cs-etm: Add support for CPU-wide trace scenarios
perf cs-etm: Properly set the value of 'old' and 'head' in snapshot mode
perf: cs-etm: Optimize option setup for CPU-wide sessions

Namhyung Kim (2):
perf top: Add --namespaces option
perf tools: Remove const from thread read accessors

Numfor Mbiziwo-Tiapo (1):
perf tools: Fix cache.h include directive

Raphael Gault (1):
perf tests arm64: Compile tests unconditionally

Seeteena Thoufeek (1):
perf tests: Fix record+probe_libc_inet_pton.sh for powerpc64

Song Liu (3):
perf/core: Allow non-privileged uprobe for user processes
perf data: Add description of header HEADER_BPF_PROG_INFO and HEADER_BPF_BTF
perf header: Assign proper ff->ph in perf_event__synthesize_features()

Thomas Richter (3):
perf test 6: Fix missing kvm module load for s390
perf report: Fix OOM error in TUI mode on s390
perf report: Support s390 diag event display on x86

yuzhoujian (1):
perf record: Add support to collect callchains from kernel or user space only


arch/x86/events/Makefile | 2 +-
arch/x86/events/core.c | 106 +-
arch/x86/events/intel/core.c | 185 ++--
arch/x86/events/intel/cstate.c | 153 +--
arch/x86/events/intel/rapl.c | 379 ++++----
arch/x86/events/intel/uncore.c | 122 ++-
arch/x86/events/intel/uncore.h | 41 +-
arch/x86/events/intel/uncore_snb.c | 101 +-
arch/x86/events/intel/uncore_snbep.c | 601 ++++++++++++
arch/x86/events/msr.c | 110 ++-
arch/x86/events/perf_event.h | 7 +-
arch/x86/events/probe.c | 45 +
arch/x86/events/probe.h | 29 +
fs/sysfs/group.c | 54 +-
include/linux/perf_event.h | 6 +
include/linux/sysfs.h | 8 +
kernel/events/core.c | 52 +-
kernel/trace/trace_uprobe.c | 2 +-
tools/arch/arm64/include/uapi/asm/kvm.h | 7 +
tools/arch/x86/include/asm/cpufeatures.h | 21 +-
tools/arch/x86/include/uapi/asm/kvm.h | 31 +-
tools/build/Makefile.feature | 3 +-
tools/build/feature/Makefile | 10 +-
tools/build/feature/test-all.c | 7 +-
tools/build/feature/test-fortify-source.c | 1 +
tools/build/feature/test-gettid.c | 11 +
tools/build/feature/test-hello.c | 1 +
tools/build/feature/test-libslang-include-subdir.c | 7 +
tools/build/feature/test-setns.c | 1 +
tools/include/linux/ctype.h | 75 ++
tools/include/linux/kernel.h | 1 +
tools/include/linux/string.h | 11 +-
tools/lib/argv_split.c | 100 ++
tools/lib/ctype.c | 35 +
tools/lib/string.c | 55 ++
tools/lib/symbol/kallsyms.c | 14 +-
tools/lib/symbol/kallsyms.h | 2 +
tools/lib/vsprintf.c | 19 +
tools/objtool/Build | 5 +
tools/perf/Documentation/db-export.txt | 41 +
tools/perf/Documentation/intel-pt.txt | 40 +-
tools/perf/Documentation/perf-config.txt | 9 +-
tools/perf/Documentation/perf-diff.txt | 31 +-
tools/perf/Documentation/perf-record.txt | 11 +
tools/perf/Documentation/perf-report.txt | 11 +-
tools/perf/Documentation/perf-script.txt | 17 +-
tools/perf/Documentation/perf-stat.txt | 10 +
tools/perf/Documentation/perf-top.txt | 5 +
tools/perf/Documentation/perf.data-file-format.txt | 97 +-
tools/perf/Documentation/tips.txt | 2 +-
tools/perf/MANIFEST | 2 +
tools/perf/Makefile.config | 19 +-
tools/perf/Makefile.perf | 44 +-
tools/perf/arch/arm/util/cs-etm.c | 310 +++++-
tools/perf/arch/arm64/Build | 2 +-
tools/perf/arch/arm64/tests/Build | 2 +-
tools/perf/arch/csky/annotate/instructions.c | 48 +
tools/perf/arch/s390/util/header.c | 2 +-
tools/perf/arch/x86/include/arch-tests.h | 1 +
tools/perf/arch/x86/tests/Build | 2 +-
tools/perf/arch/x86/tests/arch-tests.c | 4 +
tools/perf/arch/x86/tests/intel-cqm.c | 1 +
.../arch/x86/tests/intel-pt-pkt-decoder-test.c | 304 ++++++
tools/perf/arch/x86/util/intel-pt.c | 1 +
tools/perf/arch/x86/util/machine.c | 3 +-
tools/perf/builtin-diff.c | 382 +++++++-
tools/perf/builtin-kmem.c | 3 +-
tools/perf/builtin-record.c | 4 +
tools/perf/builtin-report.c | 13 +-
tools/perf/builtin-sched.c | 3 +-
tools/perf/builtin-script.c | 107 +-
tools/perf/builtin-stat.c | 89 +-
tools/perf/builtin-top.c | 10 +-
tools/perf/builtin-trace.c | 139 ++-
tools/perf/check-headers.sh | 2 +
tools/perf/examples/bpf/augmented_raw_syscalls.c | 268 ++---
tools/perf/jvmti/jvmti_agent.c | 2 +
tools/perf/jvmti/libjvmti.c | 4 +-
tools/perf/perf-with-kcore.sh | 5 -
tools/perf/perf.c | 1 +
tools/perf/perf.h | 4 +-
.../arch/arm64/hisilicon/hip08/uncore-ddrc.json | 44 +
.../arch/arm64/hisilicon/hip08/uncore-hha.json | 51 +
.../arch/arm64/hisilicon/hip08/uncore-l3c.json | 37 +
.../arch/x86/cascadelakex/clx-metrics.json | 4 +-
.../pmu-events/arch/x86/skylakex/skx-metrics.json | 22 +-
tools/perf/pmu-events/jevents.c | 7 +-
tools/perf/scripts/python/export-to-postgresql.py | 330 ++++++-
tools/perf/scripts/python/export-to-sqlite.py | 319 +++++-
tools/perf/scripts/python/exported-sql-viewer.py | 345 +++++--
tools/perf/tests/Build | 4 +
tools/perf/tests/bp_account.c | 1 +
tools/perf/tests/bpf-script-example.c | 1 +
tools/perf/tests/bpf-script-test-kbuild.c | 1 +
tools/perf/tests/bpf-script-test-prologue.c | 1 +
tools/perf/tests/bpf-script-test-relocation.c | 1 +
tools/perf/tests/bpf.c | 1 +
tools/perf/tests/builtin-test.c | 11 +-
tools/perf/tests/code-reading.c | 2 +-
tools/perf/tests/map_groups.c | 121 +++
tools/perf/tests/mem.c | 1 +
tools/perf/tests/mem2node.c | 1 +
tools/perf/tests/parse-events.c | 27 +
tools/perf/tests/shell/lib/probe.sh | 1 +
tools/perf/tests/shell/probe_vfs_getname.sh | 3 +-
.../tests/shell/record+probe_libc_inet_pton.sh | 3 +-
.../tests/shell/record+script_probe_vfs_getname.sh | 1 +
tools/perf/tests/shell/record+zstd_comp_decomp.sh | 2 +
tools/perf/tests/shell/trace+probe_vfs_getname.sh | 1 +
tools/perf/tests/tests.h | 2 +
tools/perf/tests/time-utils-test.c | 251 +++++
tools/perf/trace/beauty/Build | 4 +
tools/perf/trace/beauty/beauty.h | 15 +
tools/perf/trace/beauty/clone.c | 1 +
tools/perf/trace/beauty/fsconfig.sh | 17 +
tools/perf/trace/beauty/fsmount.c | 34 +
tools/perf/trace/beauty/fsmount.sh | 22 +
tools/perf/trace/beauty/fspick.c | 24 +
tools/perf/trace/beauty/fspick.sh | 17 +
tools/perf/trace/beauty/move_mount.c | 24 +
tools/perf/trace/beauty/move_mount_flags.sh | 17 +
tools/perf/trace/beauty/sync_file_range.c | 31 +
tools/perf/trace/beauty/sync_file_range.sh | 17 +
tools/perf/ui/browser.c | 4 +-
tools/perf/ui/browsers/annotate.c | 5 +-
tools/perf/ui/browsers/hists.c | 10 +-
tools/perf/ui/browsers/map.c | 2 +-
tools/perf/ui/gtk/hists.c | 5 +-
tools/perf/ui/libslang.h | 5 +
tools/perf/ui/progress.c | 2 +-
tools/perf/ui/stdio/hist.c | 43 +-
tools/perf/util/Build | 9 +
tools/perf/util/PERF-VERSION-GEN | 2 +-
tools/perf/util/annotate.c | 25 +-
tools/perf/util/auxtrace.c | 5 +-
tools/perf/util/auxtrace.h | 34 +
tools/perf/util/build-id.c | 2 +-
tools/perf/util/config.c | 10 +-
tools/perf/util/cpumap.c | 66 +-
tools/perf/util/cpumap.h | 10 +-
tools/perf/util/cputopo.c | 84 +-
tools/perf/util/cputopo.h | 2 +
tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 268 +++--
tools/perf/util/cs-etm-decoder/cs-etm-decoder.h | 39 +-
tools/perf/util/cs-etm.c | 1026 +++++++++++++++-----
tools/perf/util/cs-etm.h | 94 ++
tools/perf/util/ctype.c | 49 -
tools/perf/util/data-convert-bt.c | 2 +-
tools/perf/util/debug.c | 2 +-
tools/perf/util/demangle-java.c | 2 +-
tools/perf/util/dso.c | 128 ++-
tools/perf/util/env.c | 3 +-
tools/perf/util/env.h | 3 +
tools/perf/util/event.c | 10 +-
tools/perf/util/event.h | 2 +
tools/perf/util/evsel.c | 37 +-
tools/perf/util/header.c | 112 ++-
tools/perf/util/hist.c | 43 +-
tools/perf/util/hist.h | 8 +
tools/perf/util/include/linux/ctype.h | 1 -
.../perf/util/intel-pt-decoder/intel-pt-decoder.c | 467 +++++++--
.../perf/util/intel-pt-decoder/intel-pt-decoder.h | 144 +++
.../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 140 ++-
.../util/intel-pt-decoder/intel-pt-pkt-decoder.h | 21 +-
tools/perf/util/intel-pt.c | 762 +++++++++++++--
tools/perf/util/jitdump.c | 2 +-
tools/perf/util/machine.c | 36 +-
tools/perf/util/map.c | 6 +
tools/perf/util/map_groups.h | 2 +
tools/perf/util/metricgroup.c | 73 +-
tools/perf/util/perf_regs.h | 4 +
tools/perf/util/pmu.c | 69 +-
tools/perf/util/print_binary.c | 2 +-
tools/perf/util/probe-event.c | 2 +-
tools/perf/util/probe-finder.h | 2 +-
tools/perf/util/python-ext-sources | 3 +-
tools/perf/util/python.c | 1 +
tools/perf/util/s390-cpumsf.c | 96 +-
tools/perf/util/sane_ctype.h | 52 -
.../util/scripting-engines/trace-event-python.c | 54 +-
tools/perf/util/setup.py | 2 +
tools/perf/util/smt.c | 8 +-
tools/perf/util/sort.h | 13 +
tools/perf/util/srcline.c | 7 +-
tools/perf/util/stat-display.c | 43 +-
tools/perf/util/stat-shadow.c | 24 +-
tools/perf/util/stat.c | 1 +
tools/perf/util/stat.h | 1 +
tools/perf/util/strfilter.c | 6 +-
tools/perf/util/string.c | 169 +---
tools/perf/util/string2.h | 15 +-
tools/perf/util/symbol-elf.c | 6 +-
tools/perf/util/symbol.c | 121 ++-
tools/perf/util/symbol.h | 23 +
tools/perf/util/symbol_conf.h | 5 +-
tools/perf/util/thread-stack.c | 62 +-
tools/perf/util/thread-stack.h | 4 +
tools/perf/util/thread.c | 35 +-
tools/perf/util/thread.h | 4 +-
tools/perf/util/thread_map.c | 3 +-
tools/perf/util/time-utils.c | 130 ++-
tools/perf/util/trace-event-parse.c | 2 +-
tools/perf/util/util.c | 13 -
tools/perf/util/util.h | 1 -
204 files changed, 8977 insertions(+), 2107 deletions(-)