From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756180AbbFVH4r (ORCPT ); Mon, 22 Jun 2015 03:56:47 -0400 Received: from mail-wi0-f169.google.com ([209.85.212.169]:38614 "EHLO mail-wi0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755025AbbFVH4i (ORCPT ); Mon, 22 Jun 2015 03:56:38 -0400 Date: Mon, 22 Jun 2015 09:56:33 +0200 From: Ingo Molnar To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Thomas Gleixner , Arnaldo Carvalho de Melo , Andrew Morton Subject: [GIT PULL] perf changes for v4.2 Message-ID: <20150622075633.GA3565@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: a9a3cd900fbbcbf837d65653105e7bfc583ced09 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Kernel side changes mostly consist of work on x86 PMU drivers: - x86 Intel PT (hardware CPU tracer) improvements (Alexander Shishkin) - x86 Intel CQM (cache quality monitoring) improvements (Thomas Gleixner) - x86 Intel PEBSv3 support (Peter Zijlstra) - x86 Intel PEBS interrupt batching support for lower overhead sampling (Zheng Yan, Kan Liang) - x86 PMU scheduler fixes and improvements (Peter Zijlstra) There's too many tooling improvements to list them all - here are a few select highlights: 'perf bench': - Introduce new 'perf bench futex' benchmark: 'wake-parallel', to measure parallel waker threads generating contention for kernel locks (hb->lock). (Davidlohr Bueso) 'perf top', 'perf report': - Allow disabling/enabling events dynamicaly in 'perf top': a 'perf top' session can instantly become a 'perf report' one, i.e. going from dynamic analysis to a static one, returning to a dynamic one is possible, to toogle the modes, just press 'f' to 'freeze/unfreeze' the sampling. (Arnaldo Carvalho de Melo) - Make Ctrl-C stop processing on TUI, allowing interrupting the load of big perf.data files (Namhyung Kim) 'perf probe': (Masami Hiramatsu) - Support glob wildcards for function name - Support $params special probe argument: Collect all function arguments - Make --line checks validate C-style function name. - Add --no-inlines option to avoid searching inline functions - Greatly speed up 'perf probe --list' by caching debuginfo. - Improve --filter support for 'perf probe', allowing using its arguments on other commands, as --add, --del, etc. 'perf sched': - Add option in 'perf sched' to merge like comms to lat output (Josef Bacik) Plus tons of infrastructure work - in particular preparation for upcoming threaded perf report support, but also lots of other work - and fixes and other improvements. See (much) more details in the shortlog and in the git log. Thanks, Ingo ------------------> Adrian Hunter (40): perf header: Add AUX area tracing feature perf evlist: Add support for mmapping an AUX area buffer perf tools: Add user events for AUX area tracing perf auxtrace: Add support for AUX area recording perf record: Add basic AUX area tracing support perf record: Extend -m option for AUX area tracing mmap pages perf tools: Add a user event for AUX area tracing errors perf session: Add hooks to allow transparent decoding of AUX area tracing data perf session: Add instruction tracing options perf auxtrace: Add helpers for AUX area tracing errors perf auxtrace: Add helpers for queuing AUX area tracing data perf auxtrace: Add a heap for sorting AUX area tracing queues perf auxtrace: Add processing for AUX area tracing events perf auxtrace: Add a hashtable for caching perf tools: Add member to struct dso for an instruction cache perf script: Add Instruction Tracing support perf inject: Re-pipe AUX area tracing events perf inject: Add Instruction Tracing support perf script: Add field option 'flags' to print sample flags perf tools: Add aux_watermark member of struct perf_event_attr perf evlist: Amend mmap ref counting for the AUX area mmap perf script: Always allow fields 'addr' and 'cpu' for auxtrace perf report: Add Instruction Tracing support perf report: Fix placement of itrace option in documentation perf tools: Add AUX area tracing index perf tools: Hit all build ids when AUX area tracing perf tools: Add build option NO_AUXTRACE to exclude AUX area tracing perf auxtrace: Add option to synthesize events for transactions perf tools: Add support for PERF_RECORD_AUX perf tools: Add support for PERF_RECORD_ITRACE_START perf tools: Add AUX area tracing Snapshot Mode perf record: Add AUX area tracing Snapshot Mode support perf tools: Fix function declarations needed by parse-events.y perf tools: Fix parse_events_error dereferences perf build: Fix libunwind feature detection on 32-bit x86 perf session: Fix perf_session__peek_event() perf tools: Disallow PMU events intel_pt and intel_bts until there is support perf db-export: Fix thread ref-counting perf evsel: Display 0x for hex values when printing the attribute perf tools: Ensure thread-stack is flushed Alexander Shishkin (5): perf/x86/intel/pt: Kill an unused variable perf/x86/intel/pt: Document pt_buffer_reset_markers() perf/x86/intel/pt: Document pt_buffer_reset_offsets() perf/x86/intel/pt: Kill pt_is_running() perf/x86/intel/pt: Remove redundant variable declaration Ananth N Mavinakayanahalli (1): perf probe ppc64le: Fix ppc64 ABIv2 symbol decoding Andi Kleen (3): perf stat: Fix metrics calculation with event qualifiers perf annotation: Add symbol__get_annotation perf tools: Move branch option parsing to own file Arnaldo Carvalho de Melo (64): perf trace: Fix --filter-pids OPTION description perf trace: Clarify that -e is about syscalls, not perf events in general perf tools: Move x86 barrier.h stuff to tools/arch/x86/include/asm/barrier.h perf tools: Move powerpc barrier.h stuff to tools/arch/powerpc/include/asm/barrier.h perf tools: Move s390 barrier.h stuff to tools/arch/s390/include/asm/barrier.h perf tools: Move barrier() definition to tools/include/linux/compiler.h tools: Adopt asm-generic/barrier.h perf tools: Move sh barrier.h stuff to tools/arch/sh/include/asm/barrier.h perf tools: Move sparc barrier.h stuff to tools/arch/sparc/include/asm/barrier.h perf tools: Move alpha barrier.h stuff to tools/arch/alpha/include/asm/barrier.h perf tools: Move ia64 barrier.h stuff to tools/arch/ia64/include/asm/barrier.h perf tools: Move arm(64) barrier.h stuff to tools/arch/arm*/include/asm/barrier.h perf tools: Move xtensa barrier.h stuff to tools/arch/xtensa/include/asm/barrier.h perf tools: Move mips barrier.h stuff to tools/arch/mips/include/asm/barrier.h perf tools: Move tile barrier.h stuff to tools/arch/tile/include/asm/barrier.h perf tools: Move generic barriers out of perf-sys.h tools include: Add basic atomic.h implementation from the kernel sources perf tools: Use atomic_t to implement thread__{get,put} refcnt perf machine: Protect the machine->threads with a rwlock perf kmem: Fix compiler warning about may be accessing uninitialized variable perf tests: Show refcounting broken expectations in thread-mg-share test perf machine: No need to keep a refcnt for last_match perf tests: Fix map_groups refcount test tools lib traceevent: Provide le16toh define for older systems perf trace: Fix the build on older distros perf tools: Use atomic.h for the map_groups refcount perf machine: Stop accessing atomic_t::counter directly perf evlist: Use atomic.h for the perf_mmap refcount perf cgroup: Use atomic.h for refcounting perf tools: Elliminate alignment holes perf bench numa: Share sched_getcpu() __weak def with cloexec.c perf hists: Rename add_hist_entry to hists__findnew_entry perf comm: Use atomic.h for refcounting perf machine: Do not call map_groups__delete(), drop refcnt instead perf tools: Rename maps__next perf tools: Remove redundant initialization of thread linkage members perf tools: Nuke unused map_groups__flush() perf tools: Import rb_erase_init from block/ in the kernel sources perf machine: Mark removed threads as such perf tools: Leave DSO destruction to the map destruction perf tools: Use maps__first()/map__next() perf tools: Introduce struct maps perf tools: Protect accesses the map rbtrees with a rw lock perf tools: Check if a map is still in use when deleting it perf tools: Reference count struct map perf kmem: Fix compiler warning about may be accessing uninitialized variable perf machine: Adopt findnew_kernel method perf machine: No need to have two DSOs lists perf machine: Introduce machine__findnew_dso() method perf machine: Fix up vdso methods names perf machine: Fix the search for the kernel DSO on the unified list perf machine: Fix up some more method names perf tools: Protect accesses the dso rbtrees/lists with a rw lock perf tools: Reference count struct dso trace: Beautify perf_event_open syscall perf tools: Replace map->referenced & maps->removed_maps with map->refcnt perf evlist: Add toggle_enable() method perf top: Allow disabling/enabling events dynamicly perf annotate: Rename source_line_percent to source_line_samples perf top: Replace CTRL+z with 'f' as hotkey for enable/disable events perf hists browser: Do not exit when 'f' is pressed in 'report' mode perf hists browser: Honour the help line provided by builtin-{top,report}.c perf top: Tell the user how to unfreeze events after pressing 'f' perf hists browser: React to unassigned hotkey pressing David Ahern (2): perf kmem: Fix compiles on RHEL6/OL6 perf tools: Update MANIFEST per files removed from kernel Davidlohr Bueso (2): perf bench futex: Support parallel waker threads perf bench futex: Handle spurious wakeups He Kuang (10): perf data: Show error message when conversion failed perf trace: Removed duplicated NULL test perf probe: Remove length limitation for showing available variables perf probe: Add --range option to show a variable's location range perf probe: Show better error message when failed to find variable perf tests: Fix to get negative exit codes tools lib traceevent: Export dynamic symbols used by traceevent plugins tools lib traceevent: Ignore libtrace-dynamic-list file perf record: Fix perf.data size in no-buildid mode perf tools: Fix build failure on 32-bit arch Hou Pengyang (1): perf unwind: Fix a compile error Jiri Olsa (37): tools lib traceevent: Add alias field to struct format_field tools build: No need to make libapi for perf explicitly tools build: Fix Makefile(s) to properly invoke tools build perf tests: Add build tests for building perf from kernel source root and tools perf data: Enable stream flush within processing perf data: Add support for setting ordered_events queue size perf tools: Add parse_events_error interface perf tools: Add flex support for parse_events_error perf tools: Always bail out when config_attr function fails perf tools: Change parse_events_add_pmu interface perf tools: Add location to pmu event terms perf tools: Add term support for parse_events_error perf tools: Add static terms support for parse_events_error perf tools: Add tracepoint support for parse_events_error perf tools: Add symbolic events support for parse_events_error perf stat: Change metrics context calculation perf stat: Add metrics support for exclude_hv perf stat: Add metrics support for exclude_(host|guest) perf stat: Add metrics support for exclude_idle perf tools: Make flex/bison calls honour V=1 perf tools: Fix dwarf-aux.c compilation on i386 perf tools: Fix "Command" sort_entry's cmp and collapse function perf tools: Add hint for 'Too many events are opened.' error message perf build: Do not fail on missing Build file perf stat: Add id into perf_stat struct perf stat: Replace transaction event possition check with id check perf stat: Remove setup_events function perf stat: Remove transaction_run from shadow update/print code perf stat: Introduce reset_shadow_stats function perf stat: Introduce print_shadow_stats function perf stat: Add output file argument to print_shadow_stats function perf stat: Add aggr_mode argument to print_shadow_stats function perf stat: Move shadow stat counters into separate object perf tools: Introduce xyarray__reset function perf tools: Add thread_map__(alloc|realloc) helpers perf tools: Move perf_evsel__(alloc|free|reset)_counts into stat object perf stat: Introduce perf_counts__(new|delete|reset) functions Josef Bacik (1): perf sched: Add option to merge like comms to lat output Kan Liang (5): perf/x86/intel: Introduce PERF_RECORD_LOST_SAMPLES perf tools: handle PERF_RECORD_LOST_SAMPLES perf stat: Error out unsupported group leader immediately perf tools: Add time out to force stop proc map processing perf tools: Configurable per thread proc map processing time out Madhavan Srinivasan (1): perf tools: Remove newline char when reading event scale and unit Martin Liska (1): perf tools: Improve setting of gcc debug option Martin Liška (3): perf tools: Assign default value for some pointers perf annotate: Fix -i option, which is currently ignored. perf annotate: Display total number of samples with --show-total-period Masami Hiramatsu (27): perf probe: Make --funcs option exclusive perf probe: Remove all probes matches given pattern at once perf tools: Improve strfilter to append additional rules perf tools: Add strfilter__string to recover rules string perf probe: Accept multiple filter options perf probe: Accept filter argument for --list perf probe: Allow to use filter on --del command perf probe: Accept filter argument for --funcs perf probe: Remove redundant cleanup of params.filter perf probe: Cleanup and consolidate command parsers perf probe: Fix to close probe_events file in error perf probe: Fix a typo for the flags of open perf probe: Fix to return 0 when positive value returned perf probe: Make --line checks validate C-style function name perf probe: Skip kernel symbols which is out of .text perf probe: Support $params special probe argument perf probe: Use perf_probe_event.target instead of passing as an argument perf probe: Introduce probe_conf global configs perf probe: Add --no-inlines option to avoid searching inline functions perf probe: Support glob wildcards for function name perf probe: Show the error reason comes from invalid DSO perf probe: Fix an error when deleting probes successfully perf probe: Cut off the gcc optimization postfixes from function name perf probe: List probes in stdout perf probe: Fix to return error if no probe is added perf probe: Show usage even if the last event is skipped perf probe: Speed up perf probe --list by caching debuginfo Matt Fleming (1): perf/x86/intel/cqm: Use 'u32' data type for RMIDs Michael Ellerman (1): perf_event: Don't allow vmalloc() backed perf on powerpc Milos Vyletel (1): perf tools: Avoid possible race condition in copyfile() Nam T. Nguyen (1): perf tools: Separate the tests and tools in installation Namhyung Kim (35): perf hists: Get rid of position field from struct hist_entry perf diff: Make hist_entry_diff fields union perf tools: Document --children option in more detail perf tools: Fix bison-related build failure on CentOS 6 perf kmem: Implement stat --page --caller perf kmem: Support sort keys on page analysis perf kmem: Add --live option for current allocation stat perf kmem: Print gfp flags in human readable string perf kmem: Add kmem.default config option perf kmem: Show warning when trying to run stat without record perf tools: Move TUI-specific fields into unnamed union perf tools: Move init_have_children field to the unnamed union perf hists browser: Fix possible memory leak perf hists browser: Save hist_browser_timer pointer in hist_browser perf hists browser: Save pstack in the hist_browser perf hists browser: Save perf_session_env in the hist_browser perf hists browser: Split popup menu actions perf hists browser: Split popup menu actions - part 2 perf tools: Introduce pstack_peek() perf hists browser: Simplify zooming code using pstack_peek() perf tools: Move TUI-specific fields out of map_symbol perf tools: Document relation of per-thread event count feature perf report: Force tty output if -T/--thread option is given perf report: Do not restrict -T option by other options perf report: Fix some option handling on --stdio perf tools: Add rm_rf() utility function perf tools: Introduce copyfile_offset() function perf symbols: Protect dso symbol loading using a mutex perf symbols: Protect dso cache tree using dso->lock perf tools: Protect dso cache fd with a mutex perf hists: Reducing arguments of hist_entry_iter__add() perf tools: Fix dso__data_read_offset() file opening perf tools: Get rid of dso__data_fd() from dso__data_size() perf tools: Add dso__data_get/put_fd() perf tools: Make Ctrl-C stop processing on TUI Naveen N. Rao (9): perf probe ppc: Fix symbol fixup issues due to ELF type perf probe ppc: Use the right prefix when ignoring SyS symbols on ppc perf probe ppc: Enable matching against dot symbols automatically perf probe ppc64le: Prefer symbol table lookup over DWARF perf probe ppc64le: Fixup function entry if using kallsyms lookup perf symbols: Warn on build id mismatch perf probe: Improve detection of file/function name in the probe pattern perf build: Disable libdw DWARF unwind when built with NO_DWARF perf probe: Ignore tail calls to probed functions Paul Mackerras (1): perf: Remove myself from MAINTAINERS entry Peter Zijlstra (12): perf: Fix software migrate events perf/x86/intel: Correct local vs remote sibling state perf/x86/intel: Add lockdep assert perf/x86/intel: Simplify the dynamic constraint code somewhat perf/x86/intel: Make WARN()ings consistent perf/x86/intel: Clean up intel_commit_scheduling() placement perf/x86/intel: Remove pointless tests perf/x86/intel: Remove intel_excl_states::init_state perf/x86: Simplify the x86_schedule_events() logic perf/x86/intel: Simplify put_exclusive_constraints() perf/x86/intel/pebs: Add PEBSv3 decoding perf record: Amend option summaries Petr Holasek (1): perf bench numa: Show more stats of particular threads in verbose mode Riku Voipio (3): perf tests: Switch from open to openat perf tests: Aename open*.c to openat*.c perf tests: Remove getpgrp from mmap-basic Sebastian Andrzej Siewior (1): perf data: Switch to multiple cpu stream files Stephane Eranian (4): perf/x86/intel/uncore: Add Broadwell-U uncore IMC PMU support perf: add new PERF_SAMPLE_BRANCH_IND_JUMP branch sample type perf/x86/intel: add support for PERF_SAMPLE_BRANCH_IND_JUMP perf record: Add support for sampling indirect jumps Sukadev Bhattiprolu (1): perf trace: Fix race condition at the end of started workloads Thomas Gleixner (6): perf/x86/intel/cqm: Document PQR MSR abuse perf/x86/intel/cqm: Use proper data types perf/x86/intel/cqm: Remove pointless spinlock from state cache perf/x86/intel/cqm: Avoid pointless MSR write perf/x86/intel/cqm: Remove useless wrapper function perf/x86/intel/cqm: Add storage for 'closid' and clean up 'struct intel_pqr_state' Wang Nan (17): perf data: Fix duplicate field names and avoid reserved keywords perf data: Fix signedness of value perf probe: Load map before glob matching tools include: add __aligned_u64 to types.h. perf tools: Set vmlinux_path__nr_entries to 0 in vmlinux_path__exit tools lib traceevent: Install libtraceevent.a into libdir tools build: Change FEATURE_TESTS and FEATURE_DISPLAY to weak binding perf probe: Fix 'function unused' warning perf tools: Add ARM64 perf_regs_load to support libunwind and enable testing perf probe: Fix segfault when glob matching function without debuginfo perf tools: Move linux/kernel.h to tools/include tools: Move tools/perf/util/include/linux/{list.h,poison.h} to tools/include perf tools: Deal with kernel module names in '[]' correctly tools lib traceevent: Fix python/perf.so compiling error perf tools: Ignore .config-detected in .gitignore perf tools: Fix a problem when opening old perf.data with different byte order perf tools: Move libtraceevent dynamic list to separated LDFLAGS variable Will Deacon (1): perf tools: Use getconf to determine number of online CPUs Yan, Zheng (6): perf/x86/intel: Use the PEBS auto reload mechanism when possible perf/x86/intel: Introduce setup_pebs_sample_data() perf/x86/intel: Handle multiple records in the PEBS buffer perf/x86/intel: Implement batched PEBS interrupt handling (large PEBS interrupt threshold) perf/x86/intel: Drain the PEBS buffer during context switches perf/intel/x86: Enlarge the PEBS buffer Yannick Brosseau (1): perf report: Fix sort__sym_cmp to also compare end of symbol MAINTAINERS | 1 - Makefile | 5 +- arch/x86/kernel/cpu/perf_event.c | 20 +- arch/x86/kernel/cpu/perf_event.h | 21 +- arch/x86/kernel/cpu/perf_event_intel.c | 224 ++-- arch/x86/kernel/cpu/perf_event_intel_cqm.c | 108 +- arch/x86/kernel/cpu/perf_event_intel_ds.c | 317 +++-- arch/x86/kernel/cpu/perf_event_intel_lbr.c | 13 +- arch/x86/kernel/cpu/perf_event_intel_pt.c | 38 +- arch/x86/kernel/cpu/perf_event_intel_uncore.c | 3 + arch/x86/kernel/cpu/perf_event_intel_uncore.h | 1 + arch/x86/kernel/cpu/perf_event_intel_uncore_snb.c | 20 + include/linux/perf_event.h | 42 +- include/linux/sched.h | 7 +- include/uapi/linux/perf_event.h | 18 + init/Kconfig | 2 +- kernel/events/core.c | 39 +- kernel/events/internal.h | 9 - kernel/sched/core.c | 2 +- tools/Makefile | 20 +- tools/arch/alpha/include/asm/barrier.h | 8 + tools/arch/arm/include/asm/barrier.h | 12 + tools/arch/arm64/include/asm/barrier.h | 16 + tools/arch/ia64/include/asm/barrier.h | 48 + tools/arch/mips/include/asm/barrier.h | 20 + tools/arch/powerpc/include/asm/barrier.h | 29 + tools/arch/s390/include/asm/barrier.h | 30 + tools/arch/sh/include/asm/barrier.h | 32 + tools/arch/sparc/include/asm/barrier.h | 8 + tools/arch/sparc/include/asm/barrier_32.h | 6 + tools/arch/sparc/include/asm/barrier_64.h | 42 + tools/arch/tile/include/asm/barrier.h | 15 + tools/arch/x86/include/asm/atomic.h | 65 + tools/arch/x86/include/asm/barrier.h | 28 + tools/arch/x86/include/asm/rmwcc.h | 41 + tools/arch/xtensa/include/asm/barrier.h | 18 + tools/build/Makefile.build | 2 +- tools/build/Makefile.feature | 4 +- tools/build/tests/ex/Build | 1 + tools/build/tests/ex/empty2/README | 2 + tools/include/asm-generic/atomic-gcc.h | 63 + tools/include/asm-generic/barrier.h | 44 + tools/include/asm/atomic.h | 10 + tools/include/asm/barrier.h | 27 + tools/include/linux/atomic.h | 6 + tools/include/linux/compiler.h | 4 + tools/{perf/util => }/include/linux/kernel.h | 4 +- tools/{perf/util => }/include/linux/list.h | 6 +- tools/include/linux/poison.h | 1 + tools/include/linux/types.h | 8 + tools/lib/traceevent/.gitignore | 1 + tools/lib/traceevent/Makefile | 34 +- tools/lib/traceevent/event-parse.c | 6 +- tools/lib/traceevent/event-parse.h | 1 + tools/lib/traceevent/plugin_cfg80211.c | 13 + tools/perf/.gitignore | 1 + .../callchain-overhead-calculation.txt | 108 ++ tools/perf/Documentation/perf-bench.txt | 3 + tools/perf/Documentation/perf-inject.txt | 27 + tools/perf/Documentation/perf-kmem.txt | 11 +- tools/perf/Documentation/perf-kvm.txt | 6 + tools/perf/Documentation/perf-probe.txt | 17 +- tools/perf/Documentation/perf-record.txt | 27 +- tools/perf/Documentation/perf-report.txt | 35 +- tools/perf/Documentation/perf-script.txt | 37 +- tools/perf/Documentation/perf-top.txt | 9 +- tools/perf/Documentation/perf-trace.txt | 7 +- tools/perf/MANIFEST | 26 +- tools/perf/Makefile.perf | 30 +- tools/perf/arch/arm64/Build | 1 + tools/perf/arch/arm64/include/perf_regs.h | 3 + tools/perf/arch/arm64/tests/Build | 2 + tools/perf/arch/arm64/tests/dwarf-unwind.c | 61 + tools/perf/arch/arm64/tests/regs_load.S | 46 + tools/perf/arch/common.c | 2 +- tools/perf/arch/powerpc/util/Build | 1 + tools/perf/arch/powerpc/util/sym-handling.c | 82 ++ tools/perf/bench/Build | 1 + tools/perf/bench/bench.h | 2 + tools/perf/bench/futex-wake-parallel.c | 294 +++++ tools/perf/bench/futex-wake.c | 7 +- tools/perf/bench/numa.c | 33 +- tools/perf/builtin-annotate.c | 19 +- tools/perf/builtin-bench.c | 1 + tools/perf/builtin-buildid-list.c | 9 + tools/perf/builtin-diff.c | 9 +- tools/perf/builtin-inject.c | 175 ++- tools/perf/builtin-kmem.c | 988 ++++++++++++-- tools/perf/builtin-kvm.c | 11 +- tools/perf/builtin-lock.c | 8 +- tools/perf/builtin-mem.c | 5 +- tools/perf/builtin-probe.c | 195 ++- tools/perf/builtin-record.c | 382 ++++-- tools/perf/builtin-report.c | 47 +- tools/perf/builtin-sched.c | 159 ++- tools/perf/builtin-script.c | 94 +- tools/perf/builtin-stat.c | 490 +------ tools/perf/builtin-timechart.c | 9 +- tools/perf/builtin-top.c | 72 +- tools/perf/builtin-trace.c | 139 +- tools/perf/config/Makefile | 13 +- tools/perf/config/utilities.mak | 19 + tools/perf/perf-sys.h | 73 +- tools/perf/perf.h | 6 + tools/perf/tests/Build | 8 +- tools/perf/tests/builtin-test.c | 16 +- tools/perf/tests/code-reading.c | 26 +- tools/perf/tests/dso-data.c | 15 +- tools/perf/tests/dwarf-unwind.c | 3 +- tools/perf/tests/evsel-roundtrip-name.c | 4 +- tools/perf/tests/hists_common.c | 10 +- tools/perf/tests/hists_cumulate.c | 10 +- tools/perf/tests/hists_filter.c | 12 +- tools/perf/tests/hists_link.c | 12 +- tools/perf/tests/hists_output.c | 10 +- tools/perf/tests/keep-tracking.c | 4 +- tools/perf/tests/kmod-path.c | 72 ++ tools/perf/tests/make | 18 +- tools/perf/tests/mmap-basic.c | 6 +- tools/perf/tests/mmap-thread-lookup.c | 6 +- ...yscall-all-cpus.c => openat-syscall-all-cpus.c} | 13 +- ...call-tp-fields.c => openat-syscall-tp-fields.c} | 6 +- .../tests/{open-syscall.c => openat-syscall.c} | 14 +- tools/perf/tests/parse-events.c | 14 +- tools/perf/tests/perf-time-to-tsc.c | 2 +- tools/perf/tests/pmu.c | 3 +- tools/perf/tests/switch-tracking.c | 8 +- tools/perf/tests/tests.h | 17 +- tools/perf/tests/thread-mg-share.c | 41 +- tools/perf/tests/vmlinux-kallsyms.c | 34 +- tools/perf/ui/browsers/annotate.c | 64 +- tools/perf/ui/browsers/hists.c | 646 ++++++---- tools/perf/ui/tui/setup.c | 2 +- tools/perf/util/Build | 13 +- tools/perf/util/annotate.c | 73 +- tools/perf/util/annotate.h | 7 +- tools/perf/util/auxtrace.c | 1352 ++++++++++++++++++++ tools/perf/util/auxtrace.h | 643 ++++++++++ tools/perf/util/build-id.c | 64 +- tools/perf/util/cache.h | 1 - tools/perf/util/callchain.h | 4 + tools/perf/util/cgroup.c | 10 +- tools/perf/util/cgroup.h | 4 +- tools/perf/util/comm.c | 13 +- tools/perf/util/data-convert-bt.c | 410 +++++- tools/perf/util/db-export.c | 31 +- tools/perf/util/dso.c | 334 +++-- tools/perf/util/dso.h | 47 +- tools/perf/util/dwarf-aux.c | 220 +++- tools/perf/util/dwarf-aux.h | 13 +- tools/perf/util/environment.c | 1 - tools/perf/util/event.c | 119 +- tools/perf/util/event.h | 99 +- tools/perf/util/evlist.c | 103 +- tools/perf/util/evlist.h | 13 +- tools/perf/util/evsel.c | 26 +- tools/perf/util/evsel.h | 7 +- tools/perf/util/header.c | 52 +- tools/perf/util/header.h | 1 + tools/perf/util/hist.c | 63 +- tools/perf/util/hist.h | 1 - tools/perf/util/include/linux/poison.h | 1 - tools/perf/util/include/linux/rbtree.h | 14 + tools/perf/util/machine.c | 281 +++- tools/perf/util/machine.h | 32 +- tools/perf/util/map.c | 267 ++-- tools/perf/util/map.h | 52 +- tools/perf/util/pager.c | 5 - tools/perf/util/parse-branch-options.c | 94 ++ tools/perf/util/parse-branch-options.h | 5 + tools/perf/util/parse-events.c | 196 ++- tools/perf/util/parse-events.h | 42 +- tools/perf/util/parse-events.l | 41 +- tools/perf/util/parse-events.y | 50 +- tools/perf/util/parse-options.h | 4 + tools/perf/util/pmu.c | 72 +- tools/perf/util/pmu.h | 6 +- tools/perf/util/probe-event.c | 662 ++++++---- tools/perf/util/probe-event.h | 26 +- tools/perf/util/probe-finder.c | 165 ++- tools/perf/util/probe-finder.h | 10 +- tools/perf/util/pstack.c | 7 + tools/perf/util/pstack.h | 1 + tools/perf/util/python-ext-sources | 1 + tools/perf/util/record.c | 15 +- tools/perf/util/session.c | 288 ++++- tools/perf/util/session.h | 6 + tools/perf/util/sort.c | 12 +- tools/perf/util/sort.h | 38 +- tools/perf/util/stat-shadow.c | 434 +++++++ tools/perf/util/stat.c | 71 +- tools/perf/util/stat.h | 46 + tools/perf/util/strfilter.c | 107 ++ tools/perf/util/strfilter.h | 35 + tools/perf/util/symbol-elf.c | 23 +- tools/perf/util/symbol.c | 117 +- tools/perf/util/symbol.h | 12 +- tools/perf/util/thread-stack.c | 18 +- tools/perf/util/thread-stack.h | 1 + tools/perf/util/thread.c | 12 +- tools/perf/util/thread.h | 5 +- tools/perf/util/thread_map.c | 24 +- tools/perf/util/tool.h | 13 +- tools/perf/util/trace-event-parse.c | 2 +- tools/perf/util/unwind-libunwind.c | 11 +- tools/perf/util/util.c | 121 +- tools/perf/util/util.h | 6 + tools/perf/util/vdso.c | 60 +- tools/perf/util/vdso.h | 4 +- tools/perf/util/xyarray.c | 8 + tools/perf/util/xyarray.h | 2 + 211 files changed, 10821 insertions(+), 2891 deletions(-) create mode 100644 tools/arch/alpha/include/asm/barrier.h create mode 100644 tools/arch/arm/include/asm/barrier.h create mode 100644 tools/arch/arm64/include/asm/barrier.h create mode 100644 tools/arch/ia64/include/asm/barrier.h create mode 100644 tools/arch/mips/include/asm/barrier.h create mode 100644 tools/arch/powerpc/include/asm/barrier.h create mode 100644 tools/arch/s390/include/asm/barrier.h create mode 100644 tools/arch/sh/include/asm/barrier.h create mode 100644 tools/arch/sparc/include/asm/barrier.h create mode 100644 tools/arch/sparc/include/asm/barrier_32.h create mode 100644 tools/arch/sparc/include/asm/barrier_64.h create mode 100644 tools/arch/tile/include/asm/barrier.h create mode 100644 tools/arch/x86/include/asm/atomic.h create mode 100644 tools/arch/x86/include/asm/barrier.h create mode 100644 tools/arch/x86/include/asm/rmwcc.h create mode 100644 tools/arch/xtensa/include/asm/barrier.h create mode 100644 tools/build/tests/ex/empty2/README create mode 100644 tools/include/asm-generic/atomic-gcc.h create mode 100644 tools/include/asm-generic/barrier.h create mode 100644 tools/include/asm/atomic.h create mode 100644 tools/include/asm/barrier.h create mode 100644 tools/include/linux/atomic.h rename tools/{perf/util => }/include/linux/kernel.h (97%) rename tools/{perf/util => }/include/linux/list.h (90%) create mode 100644 tools/include/linux/poison.h create mode 100644 tools/perf/Documentation/callchain-overhead-calculation.txt create mode 100644 tools/perf/arch/arm64/tests/Build create mode 100644 tools/perf/arch/arm64/tests/dwarf-unwind.c create mode 100644 tools/perf/arch/arm64/tests/regs_load.S create mode 100644 tools/perf/arch/powerpc/util/sym-handling.c create mode 100644 tools/perf/bench/futex-wake-parallel.c rename tools/perf/tests/{open-syscall-all-cpus.c => openat-syscall-all-cpus.c} (90%) rename tools/perf/tests/{open-syscall-tp-fields.c => openat-syscall-tp-fields.c} (94%) rename tools/perf/tests/{open-syscall.c => openat-syscall.c} (79%) create mode 100644 tools/perf/util/auxtrace.c create mode 100644 tools/perf/util/auxtrace.h delete mode 100644 tools/perf/util/include/linux/poison.h create mode 100644 tools/perf/util/parse-branch-options.c create mode 100644 tools/perf/util/parse-branch-options.h create mode 100644 tools/perf/util/stat-shadow.c [ Full diff skipped, it's too large for lkml. ] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/