[GIT PULL] perf changes for v4.10

From: Ingo Molnar
Date: Mon Dec 12 2016 - 03:51:06 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: b0c1ef52959582144bbea9a2b37db7f4c9e399f7 perf/x86: Fix exclusion of BTS and LBR for Goldmont

This tree is pretty big and almost exclusively includes tooling changes, because
v4.9's LTS status forced to completion most of the pending kernel side hardware
enablement work and because we tried to freeze core perf work a bit to give a time
window for the fuzzing efforts.

The tree has a large size mostly due to the JSON hardware event tables added for
Intel and Power8 CPUs. This was a popular feature request from people working
close to hardware and from the HPC community.

Tree size is big because this added the CPU event tables for over a decade of
Intel CPUs. Future changes for a CPU vendor alrady support should be much smaller,
as events for new models are added. The new events are listed in 'perf list', for
the CPU model the tool is running on. If you find an interesting event it can be
used as-is:

triton:~> perf stat -a -e l2_lines_out.pf_clean sleep 1

Performance counter stats for 'system wide':

7,860,403 l2_lines_out.pf_clean

1.000624918 seconds time elapsed

The event lists can be searched the usual 'perf list' fashion for (case
insensitive) substrings as well:

triton:~> perf list l2_lines_out

List of pre-defined events (to be used in -e):

cache:
l2_lines_out.demand_clean
[Clean L2 cache lines evicted by demand]
l2_lines_out.demand_dirty
[Dirty L2 cache lines evicted by demand]
l2_lines_out.dirty_all
[Dirty L2 cache lines filling the L2]
l2_lines_out.pf_clean
[Clean L2 cache lines evicted by L2 prefetch]
l2_lines_out.pf_dirty
[Dirty L2 cache lines evicted by L2 prefetch]

etc.

There's a few high level categories as well that can be listed: 'cache', 'floating
point', 'frontend', 'memory', 'pipeline', 'virtual memory'.

Existing generic events and workflows should work as-is.

The only kernel side change is a late breaking fix for an older regression,
related to Intel BTS, LBR and PT feature interaction.

On the tooling side there are three new tools / major features:

- The new 'perf c2c' tool provides means for Shared Data C2C/HITM analysis.

It allows you to track down cacheline contention. The tool is based
on x86's load latency and precise store facility events provided by
Intel CPUs.

It was tested by Joe Mario and has proven to be useful, finding some
cacheline contentions. Joe also wrote a blog about c2c tool with
examples:

https://joemario.github.io/blog/2016/09/01/c2c-blog/

Excerpt of the content on this site:

---
At a high level, âperf c2câ will show you:

* The cachelines where false sharing was detected.
* The readers and writers to those cachelines, and the offsets where those accesses occurred.
* The pid, tid, instruction addr, function name, binary object name for those readers and writers.
* The source file and line number for each reader and writer.
* The average load latency for the loads to those cachelines.
* Which numa nodes the samples a cacheline came from and which CPUs were involved.

Using perf c2c is similar to using the Linux perf tool today.
First collect data with âperf c2c recordâ Then generate a report output with âperf c2c reportâ
---

There one finds extensive details on using the tool, with tips on
reducing the volume of samples while still capturing enough to do
its job. (Dick Fowles, Joe Mario, Don Zickus, Jiri Olsa)

- The new 'perf sched timehist' tool provides tailored analysis of scheduling
events.

Example usage:
perf sched record -- sleep 1
perf sched timehist

By default it shows the individual schedule events, including the wait
time (time between sched-out and next sched-in events for the task), the
task scheduling delay (time between wakeup and actually running) and run
time for the task:

time cpu task name wait time sch delay run time
[tid/pid] (msec) (msec) (msec)
-------- ------ ---------------- --------- --------- --------
1.874569 [0011] gcc[31949] 0.014 0.000 1.148
1.874591 [0010] gcc[31951] 0.000 0.000 0.024
1.874603 [0010] migration/10[59] 3.350 0.004 0.011
1.874604 [0011] <idle> 1.148 0.000 0.035
1.874723 [0005] <idle> 0.016 0.000 1.383
1.874746 [0005] gcc[31949] 0.153 0.078 0.022
...

Times are in msec.usec. (David Ahern, Namhyung Kim)

- Add CPU vendor hardware event tables:

Add JSON files with vendor event naming for Intel and Power8 processors,
allowing users of tools like oprofile to keep using the event names they
are used to, as well as people reading vendor documentation, where such
naming is used. (Andi Kleen, Sukadev Bhattiprolu)

You should see all the new events with 'perf list' and you should be able to
search them, for example 'perf list miss' will list all the myriads of miss
events.

Other tooling features added were:

- Cross-arch annotation support:

- Improve ARM support in the annotation code, affecting 'perf annotate', 'perf
report' and live annotation in 'perf top' (Kim Phillips)

- Initial support for PowerPC in the annotation code (Ravi Bangoria)

- Support AArch64 in the 'annotate' code, native/local and
cross-arch/remote (Kim Phillips)

- Allow considering just events in a given time interval, via the
'--time start.s.ms,end.s.ms' command line, added to 'perf kmem',
'perf report', 'perf sched timehist' and 'perf script' (David Ahern)

- Add option to stop printing a callchain at one of a given group of
symbol names (David Ahern)

- Track memory freed in 'perf kmem stat' (David Ahern)

- Allow querying and setting .perfconfig variables (Taeung Song)

- Show branch information in callchains (predicted, TSX aborts, loop
iteractions, etc) (Jin Yao)

- Dynamicly change verbosity level by pressing 'V' in the 'perf top/report'
hists TUI browser (Alexis Berlemont)

- Implement 'perf trace --delay' in the same fashion as in 'perf record --delay',
to skip sampling workload initialization events (Alexis Berlemont)

- Make vendor named events case insensitive in 'perf list', i.e.
'perf list LONGEST_LAT' works just the same as 'perf list longest_lat' (Andi Kleen)

- Add unwinding support for jitdump (Stefano Sanfilippo)

Tooling infrastructure changes:

- Support linking perf with clang and LLVM libraries, initially statically, but
this limitation will be lifted and shared libraries, when available, will
be preferred to the static build, that should, as with other features, be
enabled explicitly (Wang Nan)

- Add initial support (and perf test entry) for tooling hooks, starting with
'record_start' and 'record_end', that will have as its initial user the
eBPF infrastructure, where perf_ prefixed functions will be JITed and
run when such hooks are called (Wang Nan)

- Implement assorted libbpf improvements (Wang Nan)

... and lots of other changes, features, cleanups and refactorings I did not list,
see the shortlog and the git log for details.

Thanks,

Ingo

------------------>
Adrian Hunter (1):
perf intel-pt/bts: Tidy instruction buffer size usage

Alexander Alemayhu (1):
perf tools: Fix typo "No enough" to "Not enough"

Alexis Berlemont (2):
perf hists browser: Dynamically change verbosity level
perf trace: Implement --delay

Andi Kleen (27):
perf vendor events: Add BroadwellDE V5 event file
perf vendor events: Add Broadwell V17 event file
perf vendor events: Add BroadwellX V10 event file
perf vendor events: Add Bonnell V4 event file
perf vendor events: Add Goldmont V8 event file
perf vendor events: Add Haswell V24 event file
perf vendor events: Add HaswellX V17 event file
perf vendor events: Add IvyBridge V18 event file
perf vendor events: Add IvyTown V19 event file
perf vendor events: Add Jaketown V20 event file
perf vendor events: Add KnightsLanding V9 event file
perf vendor events: Add NehalemEP V2 event file
perf vendor events: Add NehalemEX V2 event file
perf vendor events: Add Skylake V24 event file
perf vendor events: Add Silvermont V13 event file
perf vendor events: Add SandyBridge V15 event file
perf vendor events: Add WestmereEP-DP V2 event file
perf vendor events: Add WestmereEP-SP V2 event file
perf vendor events: Add WestmereEX V2 event file
perf intel-pt/bts: Report instruction bytes and length in sample
perf script: Support insn and insnlen
perf record: Improve documentation of event parameters
perf tools: Implement branch_type event parameter
perf pmu: Only print Using CPUID message once
perf list: Make vendor event matching case insensitive
perf list: Support matching by topic
perf/x86: Fix exclusion of BTS and LBR for Goldmont

Arnaldo Carvalho de Melo (25):
perf tools: Sync copy of x86's syscall table
perf jit: Avoid returning garbage for a ret variable
perf jit: Add NT_GNU_BUILD_ID definition for older distros
perf bench mem: Move boilerplate memory allocation to the infrastructure
perf tools: Normalize sq_quote_argv() error reporting
perf tools: Use normal error reporting when processing PERF_RECORD_READ events
perf trace: Remove thread_trace->exit_time
perf trace: Use the syscall raw_syscalls:sys_enter timestamp
perf bench mem: Ignore export.h related changes to mem{cpy,set}.S
tools: Update asm-generic/mman-common.h copy from the kernel
perf tools: Update x86's syscall_64.tbl, adding pkey_(alloc,free,mprotect)
perf scripting: Avoid leaking the scripting_context variable
perf scripting: Don't die if scripting can't be setup, disable it
perf tools: Add missing object file to the python binding linkage list
perf intel-pt: Update documentation about context switch events
perf annotate: Start supporting cross arch annotation
perf annotate: Allow arches to specify functions to skip
perf annotate: Add per arch instructions annotate handlers
perf annotate: Remove duplicate 'name' field from disasm_line
perf annotate: Introduce alternative method of keeping instructions table
perf annotate: Allow arches to have a init routine and a priv area
perf annotate: Improve support for ARM
perf ui helpline: Provide a printf variant
perf annotate: Show invalid jump offset in error message
perf test: Remove "test" and similar strings from test descriptions

David Ahern (16):
perf sched timehist: Introduce timehist command
perf sched timehist: Add summary options
perf sched timehist: Add -w/--wakeups option
perf sched timehist: Add call graph options
perf sched timehist: Add -V/--cpu-visual option
perf sched timehist: Handle cpu migration events
perf trace: Update tid/pid filtering option to leverage symbol_conf
perf kmem stat: Track memory freed
perf script: Add option to stop printing callchain
perf tools: Add time-based utility functions
perf tools: Move parse_nsec_time to time-utils.c
perf script: Add option to specify time window of interest
perf sched timehist: Add option to specify time window of interest
perf kmem: Add option to specify time window of interest
perf report: Add option to specify time window of interest
perf sched timehist: Improve error message when analyzing wrong file

Davidlohr Bueso (2):
perf bench futex: Avoid worker cacheline bouncing
perf bench futex: Sanitize numeric parameters

Eric Leblond (1):
tools lib bpf: Fix maps resolution

Jin Yao (5):
perf report: Add branch flag to callchain cursor node
perf report: Create a symbol_conf flag for showing branch flag counting
perf report: Calculate and return the branch flag counting
perf report: Show branch info in callchain entry for stdio mode
perf report: Show branch info in callchain entry for browser mode

Jiri Olsa (80):
perf c2c: Introduce c2c_decode_stats function
perf c2c: Introduce c2c_add_stats function
perf c2c: Add c2c command
perf c2c: Add record subcommand
perf c2c: Add report subcommand
perf c2c report: Add dimension support
perf c2c report: Add sort_entry dimension support
perf c2c report: Fallback to standard dimensions
perf c2c report: Add sample processing
perf c2c report: Add cacheline hists processing
perf c2c report: Decode c2c_stats for hist entries
perf c2c report: Add header macros
perf c2c report: Add 'dcacheline' dimension key
perf c2c report: Add 'offset' dimension key
perf c2c report: Add 'iaddr' dimension key
perf c2c report: Add hitm related dimension keys
perf c2c report: Add stores related dimension keys
perf c2c report: Add loads related dimension keys
perf c2c report: Add llc and remote loads related dimension keys
perf c2c report: Add llc load miss dimension key
perf c2c report: Add total record sort key
perf c2c report: Add total loads sort key
perf c2c report: Add hitm percent sort key
perf c2c report: Add hitm/store percent related sort keys
perf c2c report: Add dram related sort keys
perf c2c report: Add 'pid' sort key
perf c2c report: Add 'tid' sort key
perf c2c report: Add 'symbol' and 'dso' sort keys
perf c2c report: Add 'node' sort key
perf c2c report: Add stats related sort keys
perf c2c report: Add 'cpucnt' sort key
perf c2c report: Add src line sort key
perf c2c report: Setup number of header lines for hists
perf c2c report: Set final resort fields
perf c2c report: Add stdio output support
perf c2c report: Add main TUI browser
perf c2c report: Add TUI cacheline browser
perf c2c report: Add global stats stdio output
perf c2c report: Add shared cachelines stats stdio output
perf c2c report: Add c2c related stats stdio output
perf c2c report: Allow to report callchains
perf c2c report: Limit the cachelines table entries
perf c2c report: Add support to choose local HITMs
perf c2c report: Allow to set cacheline sort fields
perf c2c report: Recalc width of global sort entries
perf c2c report: Add cacheline index entry
perf c2c report: Add support to manage symbol name length
perf c2c report: Iterate node display in browser
perf c2c report: Add help windows
perf c2c: Add man page and credits
perf c2c report: Add --no-source option
perf c2c report: Add --show-all option
tools lib traceevent: Add install_headers target
tools lib traceevent: Add do_install_mkdir Makefile function
tools lib traceevent: Rename LIB_FILE to LIB_TARGET
tools lib traceevent: Add version for traceevent shared object
tools lib: Add for_each_clear_bit macro
perf report: Move captured info to generic header info
perf header: Display missing features
perf header: Display feature name on write failure
tools build: Add CFLAGS_REMOVE_* support
tools build: Add jvmti feature detection support
perf jvmti: Plug compilation into perf build
perf kvmti: Remove unused Makefile file
perf tools: Show event fd in debug output
perf c2c report: Setup browser after opening perf.data
perf c2c report: Add -f/--force option
perf c2c report: Add struct c2c_stats::tot_hitm field
perf c2c report: Display total HITMs on default
perf c2c: Support cascading options
tools build: Make fixdep parsing wait for last target
tools build: Make the .cmd file more readable
tools build: Move tabs to spaces where suitable
perf tools: Move install-gtk target into rules area
perf tools: Move python/perf.so target into rules area
perf tools: Cleanup build directory before each test
perf tools: Add non config targets
perf tools: Move PERF-VERSION-FILE target into rules area
perf tools: Force fixdep compilation at the start of the build
perf tools: Move perf build related variables under non fixdep leg

Kim Phillips (2):
perf annotate: Use arch->objdump.comment_char in dec__parse()
perf annotate: AArch64 support

Maciej Debski (1):
perf jit: Enable jitdump support without dwarf

Madhavan Srinivasan (1):
perf vendor events: Support couple more POWER8 PVRs in mapfile

Mathieu Poirier (1):
perf coresight: Removing miscellaneous debug output

Namhyung Kim (15):
perf hist browser: Fix hierarchy column counts
tools lib subcmd: Suppport cascading options
perf sched: Make common options cascading
perf sched map: Apply cpu color when there's an activity
perf sched map: Always show task comm with -v
perf tools: Introduce timestamp__scnprintf_usec()
perf symbols: Print symbol offsets conditionally
perf evsel: Support printing callchains with arrows
perf callchain: Add option to skip ignore symbol when printing callchains
perf sched timehist: Mark schedule function in callchains
perf sched timehist: Enlarge max stack depth by 2
perf sched: Cleanup option processing
perf callchain: Introduce callchain_cursor__copy()
perf sched timehist: Handle zero sample->tid properly
perf sched timehist: Cleanup idle_max_cpu handling

Peter Foley (1):
tools build: Fix objtool build with clang

Rabin Vincent (1):
perf callchain: Fixup help/config for no-unwinding

Ravi Bangoria (2):
perf annotate: Initial PowerPC support
perf annotate: Show raw form for jump instruction with indirect target

Sebastian Andrzej Siewior (1):
perf bench futex: Cache align the worker struct

Stefano Sanfilippo (5):
perf jit: Make perf skip unknown records
perf jit: Do not assume pgoff is zero
perf jit: Add unwinding support
perf jit: Generate .eh_frame/.eh_frame_hdr in DSO
perf jit: Check JITHEADER_VERSION

Stephane Eranian (3):
perf jit: Improve error messages from JVMTI
perf jit: Remove unecessary padding in jitdump file
perf jit: Add jitdump format specification document

Steven Rostedt (2):
tools lib traceevent: Use USECS_PER_SEC instead of hardcoded number
tools lib traceevent: Add retrieval of preempt count and latency flags

Sukadev Bhattiprolu (1):
perf vendor events: Add power8 PMU events

Taeung Song (4):
perf config: Add support for getting config key-value pairs
perf config: Validate config variable arguments before trying use them
perf config: Add support setting variables in a config file
perf config: Mark where are config items from (user or system)

Wang Nan (19):
perf tools: Fix kernel version error in ubuntu
perf record: Fix segfault when running with suid and kptr_restrict is 1
perf tools: Add missing struct definition in probe_event.h
tools lib bpf: Add missing BPF functions
tools lib bpf: Add private field for bpf_object
tools lib bpf: Retrive bpf_map through offset of bpf_map_def
perf tools: Introduce perf hooks
perf tools: Pass context to perf hook functions
perf llvm: Extract helpers in llvm-utils.c
tools build: Add feature detection for LLVM
tools build: Add feature detection for clang
perf build: Add clang and llvm compile and linking support
perf clang: Add builtin clang support ant test case
perf clang: Use real file system for #include
perf clang: Allow passing CFLAGS to builtin clang
perf clang: Update test case to use real BPF script
perf clang: Support compile IR to BPF object and add testcase
perf clang: Compile BPF script using builtin clang support
perf build: Check LLVM version in feature check

Yannick Brosseau (1):
perf tools: Explicitly document that --children is enabled by default


arch/x86/events/core.c | 8 +-
arch/x86/events/perf_event.h | 2 +-
tools/build/Build.include | 22 +-
tools/build/Documentation/Build.txt | 6 +-
tools/build/Makefile.feature | 138 +-
tools/build/feature/Makefile | 126 +-
tools/build/feature/test-clang.cpp | 21 +
tools/build/feature/test-jvmti.c | 13 +
tools/build/feature/test-llvm-version.cpp | 11 +
tools/build/feature/test-llvm.cpp | 13 +
tools/build/fixdep.c | 5 +-
tools/include/asm-generic/bitops.h | 1 +
tools/include/asm-generic/bitops/__ffz.h | 12 +
tools/include/asm-generic/bitops/find.h | 28 +
tools/include/linux/bitops.h | 5 +
tools/include/uapi/asm-generic/mman-common.h | 5 +
tools/lib/bpf/bpf.c | 56 +
tools/lib/bpf/bpf.h | 7 +
tools/lib/bpf/libbpf.c | 177 +-
tools/lib/bpf/libbpf.h | 13 +
tools/lib/find_bit.c | 25 +
tools/lib/subcmd/parse-options.c | 14 +
tools/lib/subcmd/parse-options.h | 2 +
tools/lib/traceevent/Makefile | 40 +-
tools/lib/traceevent/event-parse.c | 41 +-
tools/lib/traceevent/event-parse.h | 5 +-
tools/perf/Build | 1 +
tools/perf/Documentation/intel-pt.txt | 19 +-
tools/perf/Documentation/jitdump-specification.txt | 170 +
tools/perf/Documentation/perf-c2c.txt | 290 ++
tools/perf/Documentation/perf-config.txt | 35 +
tools/perf/Documentation/perf-kmem.txt | 7 +
tools/perf/Documentation/perf-record.txt | 9 +-
tools/perf/Documentation/perf-report.txt | 10 +-
tools/perf/Documentation/perf-sched.txt | 78 +-
tools/perf/Documentation/perf-script.txt | 16 +-
tools/perf/Documentation/perf-top.txt | 1 +
tools/perf/Documentation/perf-trace.txt | 5 +
tools/perf/MANIFEST | 1 +
tools/perf/Makefile.config | 94 +-
tools/perf/Makefile.perf | 150 +-
tools/perf/arch/arm/annotate/instructions.c | 59 +
tools/perf/arch/arm/util/cs-etm.c | 2 -
tools/perf/arch/arm64/annotate/instructions.c | 62 +
tools/perf/arch/powerpc/annotate/instructions.c | 58 +
tools/perf/arch/x86/annotate/instructions.c | 78 +
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 7 +-
tools/perf/arch/x86/tests/arch-tests.c | 10 +-
tools/perf/bench/futex-hash.c | 10 +-
tools/perf/bench/futex-lock-pi.c | 7 +-
tools/perf/bench/futex-requeue.c | 2 +
tools/perf/bench/futex-wake-parallel.c | 4 +
tools/perf/bench/futex-wake.c | 3 +
tools/perf/bench/futex.h | 4 +
tools/perf/bench/mem-functions.c | 77 +-
tools/perf/builtin-c2c.c | 2780 +++++++++++++
tools/perf/builtin-config.c | 137 +-
tools/perf/builtin-kmem.c | 36 +-
tools/perf/builtin-record.c | 11 +
tools/perf/builtin-report.c | 29 +-
tools/perf/builtin-sched.c | 1118 ++++-
tools/perf/builtin-script.c | 51 +-
tools/perf/builtin-top.c | 2 +-
tools/perf/builtin-trace.c | 68 +-
tools/perf/builtin.h | 1 +
tools/perf/jvmti/Build | 8 +
tools/perf/jvmti/Makefile | 89 -
tools/perf/jvmti/jvmti_agent.c | 38 +-
tools/perf/jvmti/libjvmti.c | 39 +-
tools/perf/perf.c | 1 +
tools/perf/pmu-events/arch/powerpc/mapfile.csv | 21 +
.../perf/pmu-events/arch/powerpc/power8/cache.json | 176 +
.../arch/powerpc/power8/floating-point.json | 14 +
.../pmu-events/arch/powerpc/power8/frontend.json | 470 +++
.../pmu-events/arch/powerpc/power8/marked.json | 794 ++++
.../pmu-events/arch/powerpc/power8/memory.json | 212 +
.../perf/pmu-events/arch/powerpc/power8/other.json | 4064 ++++++++++++++++++
.../pmu-events/arch/powerpc/power8/pipeline.json | 350 ++
tools/perf/pmu-events/arch/powerpc/power8/pmc.json | 140 +
.../arch/powerpc/power8/translation.json | 176 +
tools/perf/pmu-events/arch/x86/bonnell/cache.json | 746 ++++
.../arch/x86/bonnell/floating-point.json | 261 ++
.../perf/pmu-events/arch/x86/bonnell/frontend.json | 83 +
tools/perf/pmu-events/arch/x86/bonnell/memory.json | 154 +
tools/perf/pmu-events/arch/x86/bonnell/other.json | 450 ++
.../perf/pmu-events/arch/x86/bonnell/pipeline.json | 364 ++
.../arch/x86/bonnell/virtual-memory.json | 124 +
.../perf/pmu-events/arch/x86/broadwell/cache.json | 3198 +++++++++++++++
.../arch/x86/broadwell/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwell/frontend.json | 286 ++
.../perf/pmu-events/arch/x86/broadwell/memory.json | 2845 +++++++++++++
.../perf/pmu-events/arch/x86/broadwell/other.json | 44 +
.../pmu-events/arch/x86/broadwell/pipeline.json | 1417 +++++++
.../arch/x86/broadwell/virtual-memory.json | 388 ++
.../pmu-events/arch/x86/broadwellde/cache.json | 774 ++++
.../arch/x86/broadwellde/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwellde/frontend.json | 286 ++
.../pmu-events/arch/x86/broadwellde/memory.json | 433 ++
.../pmu-events/arch/x86/broadwellde/other.json | 44 +
.../pmu-events/arch/x86/broadwellde/pipeline.json | 1417 +++++++
.../arch/x86/broadwellde/virtual-memory.json | 388 ++
.../perf/pmu-events/arch/x86/broadwellx/cache.json | 942 +++++
.../arch/x86/broadwellx/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwellx/frontend.json | 286 ++
.../pmu-events/arch/x86/broadwellx/memory.json | 649 +++
.../perf/pmu-events/arch/x86/broadwellx/other.json | 44 +
.../pmu-events/arch/x86/broadwellx/pipeline.json | 1417 +++++++
.../arch/x86/broadwellx/virtual-memory.json | 388 ++
tools/perf/pmu-events/arch/x86/goldmont/cache.json | 1127 +++++
.../pmu-events/arch/x86/goldmont/frontend.json | 52 +
.../perf/pmu-events/arch/x86/goldmont/memory.json | 34 +
tools/perf/pmu-events/arch/x86/goldmont/other.json | 52 +
.../pmu-events/arch/x86/goldmont/pipeline.json | 433 ++
.../arch/x86/goldmont/virtual-memory.json | 75 +
tools/perf/pmu-events/arch/x86/haswell/cache.json | 1041 +++++
.../arch/x86/haswell/floating-point.json | 83 +
.../perf/pmu-events/arch/x86/haswell/frontend.json | 294 ++
tools/perf/pmu-events/arch/x86/haswell/memory.json | 655 +++
tools/perf/pmu-events/arch/x86/haswell/other.json | 43 +
.../perf/pmu-events/arch/x86/haswell/pipeline.json | 1329 ++++++
.../arch/x86/haswell/virtual-memory.json | 484 +++
tools/perf/pmu-events/arch/x86/haswellx/cache.json | 1077 +++++
.../arch/x86/haswellx/floating-point.json | 83 +
.../pmu-events/arch/x86/haswellx/frontend.json | 294 ++
.../perf/pmu-events/arch/x86/haswellx/memory.json | 739 ++++
tools/perf/pmu-events/arch/x86/haswellx/other.json | 43 +
.../pmu-events/arch/x86/haswellx/pipeline.json | 1329 ++++++
.../arch/x86/haswellx/virtual-memory.json | 484 +++
.../perf/pmu-events/arch/x86/ivybridge/cache.json | 1123 +++++
.../arch/x86/ivybridge/floating-point.json | 151 +
.../pmu-events/arch/x86/ivybridge/frontend.json | 305 ++
.../perf/pmu-events/arch/x86/ivybridge/memory.json | 236 ++
.../perf/pmu-events/arch/x86/ivybridge/other.json | 44 +
.../pmu-events/arch/x86/ivybridge/pipeline.json | 1307 ++++++
.../arch/x86/ivybridge/virtual-memory.json | 180 +
tools/perf/pmu-events/arch/x86/ivytown/cache.json | 1272 ++++++
.../arch/x86/ivytown/floating-point.json | 151 +
.../perf/pmu-events/arch/x86/ivytown/frontend.json | 305 ++
tools/perf/pmu-events/arch/x86/ivytown/memory.json | 503 +++
tools/perf/pmu-events/arch/x86/ivytown/other.json | 44 +
.../perf/pmu-events/arch/x86/ivytown/pipeline.json | 1307 ++++++
.../arch/x86/ivytown/virtual-memory.json | 198 +
tools/perf/pmu-events/arch/x86/jaketown/cache.json | 1290 ++++++
.../arch/x86/jaketown/floating-point.json | 138 +
.../pmu-events/arch/x86/jaketown/frontend.json | 305 ++
.../perf/pmu-events/arch/x86/jaketown/memory.json | 422 ++
tools/perf/pmu-events/arch/x86/jaketown/other.json | 58 +
.../pmu-events/arch/x86/jaketown/pipeline.json | 1220 ++++++
.../arch/x86/jaketown/virtual-memory.json | 149 +
.../pmu-events/arch/x86/knightslanding/cache.json | 2305 +++++++++++
.../arch/x86/knightslanding/frontend.json | 34 +
.../pmu-events/arch/x86/knightslanding/memory.json | 1110 +++++
.../arch/x86/knightslanding/pipeline.json | 435 ++
.../arch/x86/knightslanding/virtual-memory.json | 65 +
tools/perf/pmu-events/arch/x86/mapfile.csv | 35 +
.../perf/pmu-events/arch/x86/nehalemep/cache.json | 3229 +++++++++++++++
.../arch/x86/nehalemep/floating-point.json | 229 ++
.../pmu-events/arch/x86/nehalemep/frontend.json | 26 +
.../perf/pmu-events/arch/x86/nehalemep/memory.json | 739 ++++
.../perf/pmu-events/arch/x86/nehalemep/other.json | 210 +
.../pmu-events/arch/x86/nehalemep/pipeline.json | 881 ++++
.../arch/x86/nehalemep/virtual-memory.json | 109 +
.../perf/pmu-events/arch/x86/nehalemex/cache.json | 3184 +++++++++++++++
.../arch/x86/nehalemex/floating-point.json | 229 ++
.../pmu-events/arch/x86/nehalemex/frontend.json | 26 +
.../perf/pmu-events/arch/x86/nehalemex/memory.json | 739 ++++
.../perf/pmu-events/arch/x86/nehalemex/other.json | 210 +
.../pmu-events/arch/x86/nehalemex/pipeline.json | 881 ++++
.../arch/x86/nehalemex/virtual-memory.json | 109 +
.../pmu-events/arch/x86/sandybridge/cache.json | 1879 +++++++++
.../arch/x86/sandybridge/floating-point.json | 138 +
.../pmu-events/arch/x86/sandybridge/frontend.json | 305 ++
.../pmu-events/arch/x86/sandybridge/memory.json | 445 ++
.../pmu-events/arch/x86/sandybridge/other.json | 58 +
.../pmu-events/arch/x86/sandybridge/pipeline.json | 1220 ++++++
.../arch/x86/sandybridge/virtual-memory.json | 149 +
.../perf/pmu-events/arch/x86/silvermont/cache.json | 811 ++++
.../pmu-events/arch/x86/silvermont/frontend.json | 47 +
.../pmu-events/arch/x86/silvermont/memory.json | 11 +
.../pmu-events/arch/x86/silvermont/pipeline.json | 359 ++
.../arch/x86/silvermont/virtual-memory.json | 69 +
tools/perf/pmu-events/arch/x86/skylake/cache.json | 4299 ++++++++++++++++++++
.../arch/x86/skylake/floating-point.json | 68 +
.../perf/pmu-events/arch/x86/skylake/frontend.json | 472 +++
tools/perf/pmu-events/arch/x86/skylake/memory.json | 2309 +++++++++++
tools/perf/pmu-events/arch/x86/skylake/other.json | 12 +
.../perf/pmu-events/arch/x86/skylake/pipeline.json | 939 +++++
.../arch/x86/skylake/virtual-memory.json | 272 ++
.../pmu-events/arch/x86/westmereep-dp/cache.json | 2817 +++++++++++++
.../arch/x86/westmereep-dp/floating-point.json | 229 ++
.../arch/x86/westmereep-dp/frontend.json | 26 +
.../pmu-events/arch/x86/westmereep-dp/memory.json | 758 ++++
.../pmu-events/arch/x86/westmereep-dp/other.json | 287 ++
.../arch/x86/westmereep-dp/pipeline.json | 899 ++++
.../arch/x86/westmereep-dp/virtual-memory.json | 173 +
.../pmu-events/arch/x86/westmereep-sp/cache.json | 3233 +++++++++++++++
.../arch/x86/westmereep-sp/floating-point.json | 229 ++
.../arch/x86/westmereep-sp/frontend.json | 26 +
.../pmu-events/arch/x86/westmereep-sp/memory.json | 739 ++++
.../pmu-events/arch/x86/westmereep-sp/other.json | 287 ++
.../arch/x86/westmereep-sp/pipeline.json | 899 ++++
.../arch/x86/westmereep-sp/virtual-memory.json | 149 +
.../perf/pmu-events/arch/x86/westmereex/cache.json | 3225 +++++++++++++++
.../arch/x86/westmereex/floating-point.json | 229 ++
.../pmu-events/arch/x86/westmereex/frontend.json | 26 +
.../pmu-events/arch/x86/westmereex/memory.json | 747 ++++
.../perf/pmu-events/arch/x86/westmereex/other.json | 287 ++
.../pmu-events/arch/x86/westmereex/pipeline.json | 905 ++++
.../arch/x86/westmereex/virtual-memory.json | 173 +
tools/perf/tests/Build | 2 +
tools/perf/tests/backward-ring-buffer.c | 2 +-
tools/perf/tests/bpf.c | 8 +-
tools/perf/tests/builtin-test.c | 105 +-
tools/perf/tests/clang.c | 46 +
tools/perf/tests/llvm.c | 8 +-
tools/perf/tests/llvm.h | 7 +
tools/perf/tests/make | 6 +-
tools/perf/tests/perf-hooks.c | 48 +
tools/perf/tests/tests.h | 4 +
tools/perf/ui/browsers/annotate.c | 26 +-
tools/perf/ui/browsers/hists.c | 27 +-
tools/perf/ui/browsers/hists.h | 1 +
tools/perf/ui/gtk/annotate.c | 2 +-
tools/perf/ui/helpline.c | 10 +
tools/perf/ui/helpline.h | 1 +
tools/perf/ui/stdio/hist.c | 35 +-
tools/perf/util/Build | 7 +-
tools/perf/util/annotate.c | 392 +-
tools/perf/util/annotate.h | 23 +-
tools/perf/util/bpf-loader.c | 33 +-
tools/perf/util/c++/Build | 2 +
tools/perf/util/c++/clang-c.h | 43 +
tools/perf/util/c++/clang-test.cpp | 62 +
tools/perf/util/c++/clang.cpp | 195 +
tools/perf/util/c++/clang.h | 26 +
tools/perf/util/callchain.c | 232 +-
tools/perf/util/callchain.h | 29 +-
tools/perf/util/config.c | 20 +
tools/perf/util/config.h | 4 +
tools/perf/util/event.h | 3 +
tools/perf/util/evsel.c | 15 +-
tools/perf/util/evsel.h | 4 +
tools/perf/util/evsel_fprintf.c | 25 +-
tools/perf/util/genelf.c | 113 +-
tools/perf/util/genelf.h | 5 +-
tools/perf/util/header.c | 19 +-
tools/perf/util/hist.c | 1 +
tools/perf/util/hist.h | 1 +
tools/perf/util/intel-bts.c | 9 +-
.../perf/util/intel-pt-decoder/intel-pt-decoder.c | 2 +
.../perf/util/intel-pt-decoder/intel-pt-decoder.h | 1 +
.../util/intel-pt-decoder/intel-pt-insn-decoder.c | 13 +-
.../util/intel-pt-decoder/intel-pt-insn-decoder.h | 6 +-
tools/perf/util/intel-pt-decoder/intel-pt-log.c | 4 +-
tools/perf/util/intel-pt.c | 19 +-
tools/perf/util/jitdump.c | 82 +-
tools/perf/util/jitdump.h | 12 +
tools/perf/util/llvm-utils.c | 78 +-
tools/perf/util/llvm-utils.h | 6 +
tools/perf/util/machine.c | 82 +-
tools/perf/util/map.c | 17 +-
tools/perf/util/mem-events.c | 136 +
tools/perf/util/mem-events.h | 38 +
tools/perf/util/parse-branch-options.c | 85 +-
tools/perf/util/parse-branch-options.h | 3 +-
tools/perf/util/parse-events.c | 15 +-
tools/perf/util/perf-hooks-list.h | 3 +
tools/perf/util/perf-hooks.c | 88 +
tools/perf/util/perf-hooks.h | 39 +
tools/perf/util/pmu.c | 14 +-
tools/perf/util/probe-event.h | 2 +
tools/perf/util/python-ext-sources | 1 +
tools/perf/util/quote.c | 2 +-
tools/perf/util/session.c | 10 -
tools/perf/util/sort.c | 2 +-
tools/perf/util/sort.h | 1 +
tools/perf/util/string.c | 21 +-
tools/perf/util/symbol.c | 10 +-
tools/perf/util/symbol.h | 11 +-
tools/perf/util/symbol_fprintf.c | 11 +-
tools/perf/util/time-utils.c | 119 +
tools/perf/util/time-utils.h | 14 +
tools/perf/util/trace-event-scripting.c | 39 +-
tools/perf/util/unwind-libunwind-local.c | 4 +-
tools/perf/util/util-cxx.h | 26 +
tools/perf/util/util.c | 88 +-
tools/perf/util/util.h | 6 +-
tools/perf/util/values.c | 81 +-
tools/perf/util/values.h | 4 +-
289 files changed, 98023 insertions(+), 1053 deletions(-)
create mode 100644 tools/build/feature/test-clang.cpp
create mode 100644 tools/build/feature/test-jvmti.c
create mode 100644 tools/build/feature/test-llvm-version.cpp
create mode 100644 tools/build/feature/test-llvm.cpp
create mode 100644 tools/include/asm-generic/bitops/__ffz.h
create mode 100644 tools/perf/Documentation/jitdump-specification.txt
create mode 100644 tools/perf/Documentation/perf-c2c.txt
create mode 100644 tools/perf/arch/arm/annotate/instructions.c
create mode 100644 tools/perf/arch/arm64/annotate/instructions.c
create mode 100644 tools/perf/arch/powerpc/annotate/instructions.c
create mode 100644 tools/perf/arch/x86/annotate/instructions.c
create mode 100644 tools/perf/builtin-c2c.c
create mode 100644 tools/perf/jvmti/Build
delete mode 100644 tools/perf/jvmti/Makefile
create mode 100644 tools/perf/pmu-events/arch/powerpc/mapfile.csv
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/cache.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/frontend.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/marked.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/memory.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/other.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/pmc.json
create mode 100644 tools/perf/pmu-events/arch/powerpc/power8/translation.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/knightslanding/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/knightslanding/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/knightslanding/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/knightslanding/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/knightslanding/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/mapfile.csv
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/virtual-memory.json
create mode 100644 tools/perf/tests/clang.c
create mode 100644 tools/perf/tests/perf-hooks.c
create mode 100644 tools/perf/util/c++/Build
create mode 100644 tools/perf/util/c++/clang-c.h
create mode 100644 tools/perf/util/c++/clang-test.cpp
create mode 100644 tools/perf/util/c++/clang.cpp
create mode 100644 tools/perf/util/c++/clang.h
create mode 100644 tools/perf/util/perf-hooks-list.h
create mode 100644 tools/perf/util/perf-hooks.c
create mode 100644 tools/perf/util/perf-hooks.h
create mode 100644 tools/perf/util/time-utils.c
create mode 100644 tools/perf/util/time-utils.h
create mode 100644 tools/perf/util/util-cxx.h

[ ... diff skipped due to size ... ]