lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 Jul 2016 10:28:38 +0200
From:	Ingo Molnar <mingo@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Arnaldo Carvalho de Melo <acme@...radead.org>,
	Jiri Olsa <jolsa@...hat.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] perf changes for v4.8

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: 5048c2af078d5976895d521262a8802ea791f3b0 Merge tag 'perf-core-for-mingo-20160718' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

With over 300 commits it's been a busy cycle - with most of the work concentrated 
on the tooling side (as it should). The main kernel side enhancements were:

 - Add per event callchain limit: Recently we introduced a sysctl to tune the
   max-stack for all events for which callchains were requested:

    $ sysctl kernel.perf_event_max_stack
    kernel.perf_event_max_stack = 127

   Now this patch introduces a way to configure this per event, i.e. this
   becomes possible:

    $ perf record -e sched:*/max-stack=2/ -e block:*/max-stack=10/ -a

   allowing finer tuning of how much buffer space callchains use.

   This uses an u16 from the reserved space at the end, leaving another
   u16 for future use.

   There has been interest in even finer tuning, namely to control the
   max stack for kernel and userspace callchains separately. Further
   discussion is needed, we may for instance use the remaining u16 for
   that and when it is present, assume that the sample_max_stack introduced
   in this patch applies for the kernel, and the u16 left is used for
   limiting the userspace callchain. (Arnaldo Carvalho de Melo)

 - Optimize AUX event (hardware assisted side-band event) delivery (Kan Liang)

 - Rework Intel family name macro usage (this is partially x86 arch work)
   (Dave Hansen)

 - Refine and fix Intel LBR support (David Carrillo-Cisneros)

 - Add support for Intel 'TopDown' events (Andi Kleen)

 - Intel uncore PMU driver fixes and enhancements (Kan Liang)

 - ... other misc changes.

Here's an incomplete list of the tooling enhancements (but there's much more, see 
the shortlog and the git log for details):

 - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data files
   in one machine and then doing analysis in another machine of a different
   hardware architecture. This enables, for instance, to do:

	perf record -a --call-graph dwarf

   on a x86-32 or aarch64 system and then do 'perf report' on it on a
   x86_64 workstation. (He Kuang)

 - Allow reading from a backward ring buffer (one setup via sys_perf_event_open()
   with perf_event_attr.write_backward = 1) (Wang Nan)

 - Finish merging initial SDT (Statically Defined Traces) support, see
   cset comments for details about how it all works (Masami Hiramatsu)

 - Support attaching eBPF programs to tracepoints (Wang Nan)

 - Add demangling of symbols in programs written in the Rust language (David Tolnay)

 - Add support for tracepoints in the python binding, including an example, that
   sets up and parses sched:sched_switch events, tools/perf/python/tracepoint.py
   (Jiri Olsa)

 - Introduce --stdio-color to set up the color output mode selection in
   'annotate' and 'report', allowing emit color escape sequences when
   redirecting the output of these tools (Arnaldo Carvalho de Melo)

 - Add 'callindent' option to 'perf script -F', to indent the Intel PT
   call stack, making this output more ftrace-like (Adrian Hunter, Andi Kleen)

 - Allow dumping the object files generated by llvm when processing eBPF
   scriptlet events (Wang Nan)

 - Add stackcollapse.py script to help generating flame graphs (Paolo Bonzini)

 - Add --ldlat option to 'perf mem' to specify load latency for loads
   event (e.g. cpu/mem-loads/ ) (Jiri Olsa)

 - Tooling support for Intel TopDown counters, recently added to the kernel (Andi Kleen)

 Thanks,

	Ingo

------------------>
Adrian Hunter (4):
      perf script: Fix documentation of '-f' when it should be '-F'
      perf script: Print sample flags more nicely
      perf auxtrace: Add option to feed branches to the thread stack
      perf script: Add callindent option

Andi Kleen (13):
      perf thread: Adopt get_main_thread from db-export.c
      x86/topology: Add topology_max_smt_threads()
      perf/x86: Support sysfs files depending on SMT status
      perf/x86/intel: Add topdown events to Intel Core
      perf/x86/intel: Add topdown events to Intel Atom
      perf/x86/intel: Use new topology_max_smt_threads() in HT leak workaround
      perf test: Ignore .scale and other special files
      perf stat: Basic support for TopDown in perf stat
      perf stat: Add computation of TopDown formulas
      perf stat: Print topology/time headers with --metric-only
      perf stat: Add missing aggregation headers for --metric-only CSV
      perf/x86/intel, watchdog: Switch NMI watchdog to ref cycles on x86
      perf tools: Add documentation for perf.data on disk format

Arnaldo Carvalho de Melo (96):
      perf core: Per event callchain limit
      perf tools: Per event max-stack settings
      perf evsel: Provide way to extract integer value from format_field
      tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private()
      tools lib bpf: Rename bpf_map__get_name() to bpf_map__name()
      tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def()
      tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd()
      tools lib bpf: Remove _get_ from non-refcount method names
      tools lib bpf: Make bpf_program__get_private() use IS_ERR()
      tools lib bpf: Rename set_private() to set_priv()
      perf tools: Remove some unused functions
      perf tools: Remove --perf-dir and --work-dir
      perf evsel: Fix write_backwards fallback
      perf script stackcollapse: Remove reference to the perl interpreter
      perf evlist: Destructors should accept NULL
      perf session: Destructors should accept NULL
      perf tests time-to-tsc: No need to disable an event before deleting it
      perf machine: Destructors should accept NULL
      perf evlist: Rename for_each() macros to for_each_entry()
      perf tools: Rename strlist_for_each() macros to for_each_entry()
      perf rb_resort: Rename for_each() macros to for_each_entry()
      perf intlist: Rename for_each() macros to for_each_entry()
      perf trace beauty sched_policy: Define SCHED_RESET_ON_FORK for older systems
      perf trace beauty eventfd: No need to include eventfd.h
      perf build: Add feature detection for libelf's elf_getshdrstrndx()
      perf tools: Sync copy of syscall_64.tbl with the kernel
      perf ui stdio: Add way to setup the color output mode selection
      perf annotate: Introduce --stdio-color to setup the color output mode selection
      perf report: Introduce --stdio-color to setup the color output mode selection
      perf trace beauty msg_flags: Remove MSG_TRYHARD
      perf trace beauty flock: Add missing fcntl.h include
      perf trace beauty open_flags: Add missing headers
      perf trace beauty mmap: Add more conditional defines
      perf trace beauty flock: Add more conditional defines
      perf trace beauty open_flags: Add more conditional defines
      tools: Introduce str_error_r()
      perf bench: Add missing pthread.h include for CPU_*() macros
      perf tests: Add missing pthread.h include for CPU_*() macros
      perf trace: Add conditional define for AT_FDCWD
      perf tests openat-syscall-tp-fields: Add some conditional defines
      perf bench: Disentangle headers
      perf tools: Move syscall number fallbacks from perf-sys.h to tools/arch/x86/include/asm/
      perf strbuf: Add missing headers
      perf quote: Disentangle headers
      perf tests cpumap: Add missing headers
      perf test fdarray: Add missing poll.h header
      perf tests x86 rdpmc: Add missing headers
      perf tools: Add missing header to color.c
      perf tools: Remove needless includes from cache.h
      perf evsel: Uninline the is_function_event method
      perf tools: Uninline scnprintf() and vscnprint()
      tools lib traceevent: Use str_error_r()
      tools lib api fs: Use str_error_r()
      tools lib: Guard the strlcpy() header with __GLIBC__
      tools lib subcmd: Use str_error_r()
      perf bench futex: Add missing compiler.h header
      perf tools: event.h needs asm/perf_regs.h
      tools: Add copy of perf_event.h to tools/include/linux/
      perf bench: Copy kernel files needed to build mem{cpy,set} x86_64 benchmarks
      tools lib bpf: Copy bpf.h and bpf_common.h from the kernel
      tools: Copy uapi/asm/perf_regs.h from the kernel
      perf test bpf: Use epoll_wait() instead of epoll_pwait()
      tools: Copy uapi/linux/hw_breakpoint.h from the kernel
      perf tools: Introduce weak alternative to sched_getcpu()
      perf tools: Remove unneeded magic.h include from util.h
      perf trace: Remove unused sys/ptrace.h include
      kvm arm/arm64: Remove trailing whitespace from headers
      tools: Copy the header files needed by perf tools
      perf tools: Fallback to reading sysfs to get cacheline size
      perf trace beauty futex_op: Add missing defines for older systems
      perf trace beauty seccomp: Remove seccomp.h include
      perf symbols: Provide a GElf_Nhdr typedef
      perf script python: Silence -Werror=maybe-uninitialized on gcc 5.3.0
      tools: Copy the bitsperlong.h files from the kernel
      perf tools: Add the tools/ stringify copy to the MANIFEST
      perf tools: Don't add kernel directories to the header search path
      perf intel-pt-decoder: Avoid checking code drift on busibox's diff
      perf tools: Add feature detection for gelf_getnote()
      tools: Fix up BITS_PER_LONG setting
      objtool: Add fallback from ELF_C_READ_MMAP to ELF_C_READ
      objtool: Avoid checking code drift on busybox's diff
      tools lib traceevent: Add correct header for ipv6 definitions
      perf tools: Do not provide dup sched_getcpu() prototype on Android
      tools: Make "__always_inline" just "inline" on Android
      perf tools: Just pr_debug() about not being able to read cacheline_size
      perf tools: Bail out at "--sort dcacheline" and cacheline_size not known
      perf evlist: Drop redundant evsel->overwrite indicator
      objtool: Add -I$(srctree)/tools/arch/$(ARCH)/include/uapi
      objtool: Initialize variable to silence old compiler
      perf tools: Add missing linux/compiler.h include to perf-sys.h
      perf tools: Remove tools/perf/util/include/asm/byteorder.h
      perf tools: Remove tools/perf/util/include/linux/const.h
      Remove: kernel unistd*h files from perf's MANIFEST, not used
      tools: Copy the bitops files accessed from the kernel and check for drift
      perf tools: Remove include/linux/list.h from perf's MANIFEST
      tools: Copy linux/{hash,poison}.h and check for drift

Bjorn Helgaas (1):
      perf/x86/intel/uncore: Remove redundant pci_get_drvdata()

Chris Phlipot (3):
      tools lib api: Respect WERROR=0 for build
      tools lib subcmd: Respect WERROR=0 for build
      perf tools: Update android build documentation

Colin Ian King (1):
      tools lib bpf: Fix spelling mistake: "missmatch" -> "mismatch"

Dan Carpenter (2):
      perf jit: Add missing curly braces
      perf jit: Remove some no-op error handling

Dave Hansen (7):
      perf/x86/intel: Use Intel family macros for core perf events
      perf/x86/rapl: Use Intel family macros for RAPL
      perf/x86/msr: Use Intel family macros for MSR events code
      perf/x86/msr: Add missing Intel models
      perf/x86/cstate: Use Intel Model name macros
      perf/x86/uncore: Use Intel family name macros for uncore
      x86/pmc_core: Use Intel family name macros for pmc_core driver

David Carrillo-Cisneros (5):
      perf/core: Fix crash due to account/unaccount_sb_event() inconsistency
      perf/x86/intel: Print LBR support statement after validation
      perf/x86/intel: Fix MSR_LAST_BRANCH_FROM_x bug when no TSX
      perf/x86/intel: Fix trivial formatting and style bug
      perf/x86/intel: Add MSR_LAST_BRANCH_FROM_x quirk for ctx switch

David Tolnay (1):
      perf symbols: Add Rust demangling

He Kuang (21):
      perf script: Show call graphs when 1st event doesn't have it but some other has
      perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check
      perf unwind: Decouple thread->address_space on libunwind
      perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind
      perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map
      perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS
      perf unwind: Separate local/remote libunwind config
      perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c
      perf tools: Extract common API out of unwind-libunwind-local.c
      perf tools: Export normalize_arch() function
      perf unwind: Check the target platform before assigning unwind methods
      perf unwind: Change fixed name of libunwind__arch_reg_id to macro
      perf unwind: Introduce flag to separate local/remote unwind compilation
      perf callchain: Support x86 target platform
      perf callchain: Support aarch64 cross-platform
      perf unwind: Fix compile error for static cross build
      perf tools: Let python use correct gcc for build_ext
      perf tools: Find right DSO taking into account if binary is 32 or 64-bit
      perf unwind: Change macro names of perf register
      perf unwind: Fix wrongly used regs for x86_32 unwind
      perf unwind: Fix wrongly used regs for aarch64 unwind

Hemant Kumar (1):
      perf sdt: ELF support for SDT

Ingo Molnar (2):
      Revert "perf/x86/intel, watchdog: Switch NMI watchdog to ref cycles on x86"
      tools: Work around BITS_PER_LONG related build failure in objtool

Jacob Pan (1):
      perf/x86/rapl: Add Skylake server model detection

Jean Delvare (1):
      kbuild: List libelf-devel as an alternative

Jiri Olsa (44):
      perf mem: Add --ldlat option
      perf tools: Fix Data Object sort entry width index
      perf tui: Separate hierarchy and standard headers output
      perf stdio: Separate headers output
      perf stdio: Separate hierarchy headers output
      perf stdio: Separate standard headers output
      perf stdio: Do not pass hists in hist_entry__fprintf
      perf stdio: Add use_callchain parameter to hists__fprintf
      perf hists: Replace perf_evsel arg perf_hpp_fmt's header callback
      perf hists: Replace perf_evsel arg perf_hpp_fmt's width callback
      perf hists: Rename __hists__add_entry to hists__add_entry
      perf hists browser: Move hist_browser into header file
      perf hists browser: Make (new|delete|run) public
      perf hists browser: Introduce struct hist_browser title callback
      perf hists browser: Move horizontal scroll init to new()
      perf hists browser: Introduce perf_evsel_browser constructor
      perf hists browser: Introduce init()
      perf hists: Enlarge pid sort entry size
      perf data convert: Include config.h header
      perf symbols: Use proper dso name for is_regular_file
      perf tools: Allow to reset open files counter
      perf tests: Fix thread map test for -F option
      perf test: Add -F/--dont-fork option
      perf tools: Change cpu_map__fprintf output
      perf header: Transform nodes string info to struct
      perf tests: Fix hist accumulation test
      perf unwind: Add initialized arg into unwind__prepare_access
      perf unwind: Call unwind__prepare_access for forked thread
      perf hists: Introduce hist_entry__init function
      perf hists: Introduce hist_entry_ops
      perf hists: Introduce hists__add_entry_ops function
      perf evlist: Make event2evsel public
      perf tools: Introduce trace_event__tp_format_id()
      perf python: Init perf_event_attr::size in perf.evsel constructor
      perf python: Fix pyrf_evlist__read_on_cpu event consuming
      perf python: Put perf.event objects into dictionary
      perf python: Add perf.tracepoint method
      perf python: Add struct evsel into struct pyrf_event
      perf python: Add support to resolve tracepoint fields
      perf python: Add tracepoint example
      tools lib api fs: Use base 0 in filename__read_ull
      perf script python: Fix string vs byte array resolving
      perf tools: Make is_printable_array global
      perf tests: Add is_printable_array test

Kan Liang (4):
      perf/core: Optimize side-band event delivery
      perf/core: Fix implicitly enable dynamic interrupt throttle
      perf/x86/intel/uncore: Locate specific box by checking full device info
      perf/x86/intel/uncore: Add support for the Intel Skylake client uncore PMU

Lucas Stach (1):
      tools lib api: Respect CROSS_COMPILE for the linker

Lukasz Odzioba (2):
      perf/x86/intel: Add 'static' keyword to locally used arrays
      perf/x86/intel: Change offcore response masks for Knights Landing

Mark Rutland (2):
      perf stat: Balance opening and reading events
      perf cpu_map: Add more helpers

Masami Hiramatsu (27):
      perf symbols: Introduce filename__readable to check readability
      perf symbols: Cleanup the code flow of dso__find_kallsyms
      perf buildid-cache: Use path/to/bin/buildid/elf instead of path/to/bin/buildid
      perf tools: Fix rm_rf() to handle non-regular files correctly
      perf probe: Fix to add NULL check for strndup
      perf buildid: Rename and export build_id_cache__cachedir()
      perf probe: Add perf_probe_event__copy()
      perf probe: Uncomment and export synthesize_perf_probe_point()
      perf probe: Introduce perf_cache interfaces
      perf probe: Add --cache option to cache the probe definitions
      perf probe: Use cache entry if possible
      perf probe: Show all cached probes
      perf probe: Remove caches when --cache is given
      perf probe: Add group name support
      perf buildid-cache: Scan and import user SDT events to probe cache
      perf probe: Fix to show correct error message for $vars and $params
      perf probe: Accept %sdt and %cached event name
      perf probe: Make --list show only available cached events
      perf probe-cache: Add for_each_probe_cache_entry() wrapper
      perf probe: Allow wildcard for cached events
      perf probe: Search SDT/cached event from all probe caches
      perf list: Show SDT and pre-cached events
      perf probe: Support @BUILDID or @FILE suffix for SDT events
      perf probe: Support a special SDT probe format
      perf build: Add sdt feature detection
      perf test: Add a test case for SDT event
      perf probe: Warn unmatched function filter correctly

Naveen N. Rao (1):
      perf annotate: Generalize handling of 'ret' instructions

Neeraj Badlani (1):
      perf tools: Update makefile message for installing slang devel package

Paolo Bonzini (1):
      perf script: Add stackcollapse.py script

Peter Zijlstra (4):
      perf/core: Rename the perf_event_aux*() APIs to perf_event_sb*(), to separate them from AUX ring-buffer records
      perf/x86/intel: Add {rd,wr}lbr_{to,from} wrappers
      perf/x86/intel: Fix rdlbr_to() MSR reading typo
      tools: Simplify BITS_PER_LONG define

Peter Zijlstra (Intel) (2):
      perf annotate: Simplify header dotted line sizing
      perf annotate: Add number of samples to the header

Ravi Bangoria (3):
      perf annotate: Remove unused hist_entry__annotate function
      perf tools: Add more toolchain triplets
      perf evsel: Utility function to fetch arch

Steven Rostedt (1):
      tools lib traceevent: Add filter on task CPU id

Taeung Song (9):
      perf tools: Add arch/*/include/generated/ to .gitignore
      perf config: Fix abnormal termination at perf_parse_file()
      perf config: Handle the error when config set is NULL at collect_config()
      perf config: Constructor should free its allocated memory when failing
      perf config: Use new perf_config_set__init() to initialize config set
      perf config: Handle NULL at perf_config_set__delete()
      perf config: Move config declarations from util/cache.h to util/config.h
      perf config: Introduce new init() and exit()
      perf config: Reimplement show_config() using config_set__for_each

Vineet Gupta (2):
      perf/abi: Change the errno for sampling event not supported in hardware
      tools/perf: Handle -EOPNOTSUPP for sampling events

Wang Nan (40):
      perf record: Robustify perf_event__synth_time_conv()
      perf evlist: Don't poll and mmap overwritable events
      perf evlist: Check 'base' pointer before checking refcnt when put a mmap
      perf evlist: Choose correct reading direction according to evlist->backward
      tools: Pass arg to fdarray__filter's call back function
      perf evlist: Fix alloc_mmap() failure path
      perf tools: Fix crash in build_id_cache__kallsyms_path()
      perf llvm: Allow dump llvm output object file using llvm.dump-obj
      perf record: Add --dry-run option to check cmdline options
      perf build: Add libbabeltrace to build-test
      perf record: Move mmap setup block to separate function
      perf record: Prepare reading from multiple evlists in record__mmap_read_all()
      perf record: Prepare picking perf_event_mmap_page from multiple evlists
      perf data ctf: Add value_set_string() helper
      perf data ctf: Pass convert options through opts structure
      perf data ctf: Add 'all' option
      perf data ctf: Prepare collect non-sample events
      perf data ctf: Generate comm event to CTF output
      perf data ctf: Add '--all' option for 'perf data convert'
      perf data ctf: Generate fork and exit events to CTF output
      tools lib bpf: Add license header
      tools lib bpf: New API to adjust type of a BPF program
      tools lib bpf: Report error when kernel doesn't support program type
      perf event parser: Add const qualifier to evt_name and sys_name
      perf bpf: Rename bpf__foreach_tev() to bpf__foreach_event()
      perf bpf: Support BPF program attach to tracepoints
      tools lib fd array: Allow associating a pointer cookie with each entry
      perf evlist: Update mmap related APIs and helpers
      perf record: Decouple record__mmap_read() and evlist.
      perf evlist: Record mmap cookie into fdarray private field
      perf evlist: Extract common code in mmap failure processing
      perf evlist: Introduce backward_mmap array for evlist
      perf evlist: Map backward events to backward_mmap
      perf evlist: Drop evlist->backward
      perf evlist: Setup backward mmap state machine
      perf record: Read from overwritable ring buffer
      perf evlist: Make {pause,resume} internal helpers
      perf tools: Enable overwrite settings
      perf session: Don't warn about out of order event if write_backward is used
      perf record: Add --tail-synthesize option


 Makefile                                           |   2 +-
 arch/arm/include/uapi/asm/kvm.h                    |   4 +-
 arch/x86/events/core.c                             |  23 +
 arch/x86/events/intel/core.c                       | 201 +++--
 arch/x86/events/intel/cstate.c                     |  47 +-
 arch/x86/events/intel/lbr.c                        | 124 ++-
 arch/x86/events/intel/rapl.c                       |  32 +-
 arch/x86/events/intel/uncore.c                     |  88 +-
 arch/x86/events/intel/uncore.h                     |   5 +
 arch/x86/events/intel/uncore_snb.c                 |  67 +-
 arch/x86/events/intel/uncore_snbep.c               |  96 +-
 arch/x86/events/msr.c                              |  63 +-
 arch/x86/events/perf_event.h                       |  12 +
 arch/x86/include/asm/topology.h                    |   9 +
 arch/x86/kernel/smpboot.c                          |  25 +-
 drivers/platform/x86/intel_pmc_core.c              |   9 +-
 include/linux/perf_event.h                         |  15 +-
 include/uapi/linux/perf_event.h                    |   6 +-
 kernel/bpf/stackmap.c                              |   2 +-
 kernel/events/callchain.c                          |  14 +-
 kernel/events/core.c                               | 158 +++-
 tools/arch/alpha/include/uapi/asm/bitsperlong.h    |   8 +
 tools/arch/arm/include/uapi/asm/kvm.h              | 224 +++++
 tools/arch/arm/include/uapi/asm/perf_regs.h        |  23 +
 tools/arch/arm64/include/uapi/asm/bitsperlong.h    |  23 +
 tools/arch/arm64/include/uapi/asm/kvm.h            | 258 ++++++
 tools/arch/arm64/include/uapi/asm/perf_regs.h      |  40 +
 tools/arch/frv/include/uapi/asm/bitsperlong.h      |   1 +
 tools/arch/h8300/include/asm/bitsperlong.h         |  14 +
 tools/arch/hexagon/include/uapi/asm/bitsperlong.h  |  26 +
 tools/arch/ia64/include/uapi/asm/bitsperlong.h     |   8 +
 tools/arch/m32r/include/uapi/asm/bitsperlong.h     |   1 +
 .../arch/microblaze/include/uapi/asm/bitsperlong.h |   1 +
 tools/arch/mips/include/uapi/asm/bitsperlong.h     |   8 +
 tools/arch/mips/include/uapi/asm/kvm.h             | 208 +++++
 tools/arch/mn10300/include/uapi/asm/bitsperlong.h  |   1 +
 tools/arch/parisc/include/uapi/asm/bitsperlong.h   |  14 +
 tools/arch/powerpc/include/uapi/asm/bitsperlong.h  |  12 +
 tools/arch/powerpc/include/uapi/asm/kvm.h          | 612 +++++++++++++
 tools/arch/powerpc/include/uapi/asm/perf_regs.h    |  50 ++
 tools/arch/s390/include/uapi/asm/bitsperlong.h     |  12 +
 tools/arch/s390/include/uapi/asm/kvm.h             | 192 ++++
 tools/arch/s390/include/uapi/asm/kvm_perf.h        |  25 +
 tools/arch/s390/include/uapi/asm/sie.h             | 250 ++++++
 tools/arch/score/include/uapi/asm/bitsperlong.h    |   6 +
 tools/arch/sparc/include/uapi/asm/bitsperlong.h    |  12 +
 tools/arch/tile/include/uapi/asm/bitsperlong.h     |  26 +
 tools/arch/x86/include/asm/cpufeatures.h           | 316 +++++++
 tools/arch/x86/include/asm/disabled-features.h     |  60 ++
 tools/arch/x86/include/asm/required-features.h     | 103 +++
 tools/arch/x86/include/asm/unistd_32.h             |  12 +
 tools/arch/x86/include/asm/unistd_64.h             |  12 +
 tools/arch/x86/include/uapi/asm/bitsperlong.h      |  12 +
 tools/arch/x86/include/uapi/asm/kvm.h              | 360 ++++++++
 tools/arch/x86/include/uapi/asm/kvm_perf.h         |  16 +
 tools/arch/x86/include/uapi/asm/perf_regs.h        |  33 +
 tools/arch/x86/include/uapi/asm/svm.h              | 178 ++++
 tools/arch/x86/include/uapi/asm/vmx.h              | 136 +++
 tools/arch/x86/lib/memcpy_64.S                     | 297 +++++++
 tools/arch/x86/lib/memset_64.S                     | 138 +++
 tools/build/Makefile.feature                       |   5 +-
 tools/build/feature/Makefile                       |  14 +-
 tools/build/feature/test-all.c                     |  15 +
 tools/build/feature/test-libelf-gelf_getnote.c     |   7 +
 tools/build/feature/test-libelf-getshdrstrndx.c    |   8 +
 tools/build/feature/test-sdt.c                     |   7 +
 tools/include/asm-generic/bitops/__ffs.h           |   1 +
 tools/include/asm-generic/bitops/__fls.h           |  44 +-
 tools/include/asm-generic/bitops/arch_hweight.h    |  26 +-
 tools/include/asm-generic/bitops/atomic.h          |   1 +
 tools/include/asm-generic/bitops/const_hweight.h   |  44 +-
 tools/include/asm-generic/bitops/fls.h             |  42 +-
 tools/include/asm-generic/bitops/fls64.h           |  37 +-
 tools/include/asm-generic/bitsperlong.h            |  20 +
 .../{perf/util => }/include/asm/alternative-asm.h  |   4 +-
 tools/include/linux/bitops.h                       |   4 +-
 tools/include/linux/compiler.h                     |  11 +
 tools/include/linux/hash.h                         | 105 ++-
 tools/include/linux/kernel.h                       |  28 +-
 tools/include/linux/poison.h                       |  91 +-
 tools/include/linux/string.h                       |   4 +-
 tools/include/uapi/asm-generic/bitsperlong.h       |  15 +
 tools/include/uapi/linux/bpf.h                     | 389 ++++++++
 tools/include/uapi/linux/bpf_common.h              |  55 ++
 tools/include/uapi/linux/hw_breakpoint.h           |  30 +
 tools/include/uapi/linux/perf_event.h              | 983 +++++++++++++++++++++
 tools/lib/api/Makefile                             |  10 +-
 tools/lib/api/fd/array.c                           |   5 +-
 tools/lib/api/fd/array.h                           |   4 +-
 tools/lib/api/fs/fs.c                              |   7 +-
 tools/lib/api/fs/tracing_path.c                    |   3 +-
 tools/lib/bpf/Makefile                             |   8 +-
 tools/lib/bpf/bpf.c                                |  13 +
 tools/lib/bpf/bpf.h                                |  13 +
 tools/lib/bpf/libbpf.c                             | 149 ++--
 tools/lib/bpf/libbpf.h                             |  50 +-
 tools/lib/str_error_r.c                            |  26 +
 tools/lib/subcmd/Makefile                          |   8 +-
 tools/lib/subcmd/run-command.c                     |   5 +-
 tools/lib/traceevent/event-parse.c                 |  11 +-
 tools/lib/traceevent/parse-filter.c                |  18 +-
 tools/lib/vsprintf.c                               |  24 +
 tools/objtool/Build                                |   5 +
 tools/objtool/Makefile                             |   7 +-
 tools/objtool/builtin-check.c                      |   3 +-
 tools/objtool/elf.c                                |   7 +
 tools/perf/.gitignore                              |   1 +
 tools/perf/Documentation/android.txt               |  16 +-
 tools/perf/Documentation/perf-annotate.txt         |   7 +
 tools/perf/Documentation/perf-buildid-cache.txt    |   3 +
 tools/perf/Documentation/perf-data.txt             |   4 +
 tools/perf/Documentation/perf-mem.txt              |   3 +
 tools/perf/Documentation/perf-probe.txt            |  32 +-
 tools/perf/Documentation/perf-record.txt           |  29 +
 tools/perf/Documentation/perf-report.txt           |   7 +
 tools/perf/Documentation/perf-script.txt           |  31 +-
 tools/perf/Documentation/perf-stat.txt             |  32 +
 tools/perf/Documentation/perf-test.txt             |   4 +
 tools/perf/Documentation/perf.data-file-format.txt | 442 +++++++++
 tools/perf/MANIFEST                                |  54 +-
 tools/perf/Makefile.perf                           |  87 +-
 tools/perf/arch/arm/util/Build                     |   2 +-
 tools/perf/arch/arm64/util/Build                   |   2 +-
 tools/perf/arch/arm64/util/unwind-libunwind.c      |   4 +-
 tools/perf/arch/common.c                           |  20 +-
 tools/perf/arch/common.h                           |   1 +
 tools/perf/arch/x86/entry/syscalls/syscall_64.tbl  |   2 +
 tools/perf/arch/x86/tests/perf-time-to-tsc.c       |   6 +-
 tools/perf/arch/x86/tests/rdpmc.c                  |   8 +-
 tools/perf/arch/x86/util/Build                     |   3 +-
 tools/perf/arch/x86/util/auxtrace.c                |   2 +-
 tools/perf/arch/x86/util/group.c                   |  27 +
 tools/perf/arch/x86/util/intel-bts.c               |   8 +-
 tools/perf/arch/x86/util/intel-pt.c                |  10 +-
 tools/perf/arch/x86/util/tsc.c                     |   2 +
 tools/perf/arch/x86/util/unwind-libunwind.c        |   6 +-
 tools/perf/bench/futex-hash.c                      |  15 +-
 tools/perf/bench/futex-lock-pi.c                   |  11 +-
 tools/perf/bench/futex-requeue.c                   |  11 +-
 tools/perf/bench/futex-wake-parallel.c             |  11 +-
 tools/perf/bench/futex-wake.c                      |  11 +-
 tools/perf/bench/mem-memcpy-x86-64-asm.S           |   2 +-
 tools/perf/bench/mem-memset-x86-64-asm.S           |   2 +-
 tools/perf/bench/numa.c                            |   4 +-
 tools/perf/builtin-annotate.c                      |   7 +-
 tools/perf/builtin-buildid-cache.c                 |  21 +-
 tools/perf/builtin-config.c                        |  21 +-
 tools/perf/builtin-data.c                          |  11 +-
 tools/perf/builtin-diff.c                          |  29 +-
 tools/perf/builtin-evlist.c                        |   2 +-
 tools/perf/builtin-help.c                          |  10 +-
 tools/perf/builtin-inject.c                        |   8 +-
 tools/perf/builtin-kmem.c                          |   4 +-
 tools/perf/builtin-kvm.c                           |  12 +-
 tools/perf/builtin-list.c                          |   6 +-
 tools/perf/builtin-mem.c                           |   1 +
 tools/perf/builtin-probe.c                         |  38 +-
 tools/perf/builtin-record.c                        | 211 ++++-
 tools/perf/builtin-report.c                        |  18 +-
 tools/perf/builtin-sched.c                         |   2 +-
 tools/perf/builtin-script.c                        | 136 ++-
 tools/perf/builtin-stat.c                          | 199 ++++-
 tools/perf/builtin-top.c                           |  18 +-
 tools/perf/builtin-trace.c                         |  19 +-
 tools/perf/config/Makefile                         |  89 +-
 tools/perf/jvmti/jvmti_agent.c                     |  10 +-
 tools/perf/perf-sys.h                              |  19 +-
 tools/perf/perf.c                                  |  58 +-
 tools/perf/perf.h                                  |   2 +
 tools/perf/python/tracepoint.py                    |  47 +
 tools/perf/scripts/python/bin/stackcollapse-record |   8 +
 tools/perf/scripts/python/bin/stackcollapse-report |   3 +
 tools/perf/scripts/python/stackcollapse.py         | 125 +++
 tools/perf/tests/Build                             |   2 +
 tools/perf/tests/backward-ring-buffer.c            |  18 +-
 tools/perf/tests/bpf-script-example.c              |   4 +-
 tools/perf/tests/bpf.c                             |  10 +-
 tools/perf/tests/builtin-test.c                    |  69 +-
 tools/perf/tests/cpumap.c                          |  31 +
 tools/perf/tests/dso-data.c                        |   6 +
 tools/perf/tests/event-times.c                     |   5 +-
 tools/perf/tests/evsel-roundtrip-name.c            |   2 +-
 tools/perf/tests/fdarray.c                         |   9 +-
 tools/perf/tests/hists_cumulate.c                  |   4 +
 tools/perf/tests/hists_filter.c                    |   4 +-
 tools/perf/tests/hists_link.c                      |   8 +-
 tools/perf/tests/is_printable_array.c              |  36 +
 tools/perf/tests/llvm.c                            |   1 +
 tools/perf/tests/make                              |   5 +-
 tools/perf/tests/mmap-basic.c                      |  11 +-
 tools/perf/tests/openat-syscall-all-cpus.c         |   7 +-
 tools/perf/tests/openat-syscall-tp-fields.c        |  11 +-
 tools/perf/tests/openat-syscall.c                  |   2 +-
 tools/perf/tests/parse-events.c                    |   8 +-
 tools/perf/tests/parse-no-sample-id-all.c          |   3 +-
 tools/perf/tests/perf-record.c                     |  11 +-
 tools/perf/tests/sdt.c                             | 115 +++
 tools/perf/tests/sw-clock.c                        |   4 +-
 tools/perf/tests/switch-tracking.c                 |   2 +-
 tools/perf/tests/task-exit.c                       |   4 +-
 tools/perf/tests/tests.h                           |   3 +
 tools/perf/tests/thread-map.c                      |  16 +-
 tools/perf/trace/beauty/eventfd.c                  |   2 -
 tools/perf/trace/beauty/flock.c                    |  17 +
 tools/perf/trace/beauty/futex_op.c                 |  16 +
 tools/perf/trace/beauty/mmap.c                     |  77 +-
 tools/perf/trace/beauty/msg_flags.c                |   1 -
 tools/perf/trace/beauty/open_flags.c               |  15 +
 tools/perf/trace/beauty/sched_policy.c             |   3 +
 tools/perf/trace/beauty/seccomp.c                  |   2 -
 tools/perf/ui/browser.c                            |   2 +-
 tools/perf/ui/browsers/annotate.c                  |  21 +-
 tools/perf/ui/browsers/hists.c                     | 150 ++--
 tools/perf/ui/browsers/hists.h                     |  32 +
 tools/perf/ui/gtk/hists.c                          |   4 +-
 tools/perf/ui/gtk/util.c                           |   1 +
 tools/perf/ui/helpline.c                           |   1 +
 tools/perf/ui/hist.c                               |  13 +-
 tools/perf/ui/setup.c                              |   7 +
 tools/perf/ui/stdio/hist.c                         | 133 +--
 tools/perf/ui/tui/setup.c                          |   2 +
 tools/perf/ui/ui.h                                 |   4 +
 tools/perf/util/Build                              |  14 +
 tools/perf/util/alias.c                            |   2 +
 tools/perf/util/annotate.c                         |  27 +-
 tools/perf/util/annotate.h                         |   3 +-
 tools/perf/util/auxtrace.h                         |   2 +
 tools/perf/util/bpf-loader.c                       | 203 +++--
 tools/perf/util/bpf-loader.h                       |  12 +-
 tools/perf/util/build-id.c                         | 320 ++++++-
 tools/perf/util/build-id.h                         |   8 +
 tools/perf/util/cache.h                            |  23 -
 tools/perf/util/callchain.h                        |   2 +
 tools/perf/util/cgroup.c                           |   4 +-
 tools/perf/util/cloexec.c                          |  18 +-
 tools/perf/util/color.c                            |   4 +
 tools/perf/util/config.c                           | 160 ++--
 tools/perf/util/config.h                           |  40 +
 tools/perf/util/cpumap.c                           |  68 +-
 tools/perf/util/cpumap.h                           |   3 +
 tools/perf/util/data-convert-bt.c                  | 200 ++++-
 tools/perf/util/data-convert-bt.h                  |   4 +-
 tools/perf/util/data-convert.h                     |   9 +
 tools/perf/util/data.c                             |   4 +-
 tools/perf/util/db-export.c                        |  13 +-
 tools/perf/util/debug.h                            |   2 +-
 tools/perf/util/demangle-rust.c                    | 269 ++++++
 tools/perf/util/demangle-rust.h                    |   7 +
 tools/perf/util/dso.c                              |  28 +-
 tools/perf/util/dso.h                              |   8 +
 tools/perf/util/env.c                              |   5 +-
 tools/perf/util/env.h                              |  10 +-
 tools/perf/util/event.c                            |   2 +-
 tools/perf/util/event.h                            |   1 +
 tools/perf/util/evlist.c                           | 352 +++++---
 tools/perf/util/evlist.h                           |  92 +-
 tools/perf/util/evsel.c                            |  98 +-
 tools/perf/util/evsel.h                            |  27 +-
 tools/perf/util/group.h                            |   7 +
 tools/perf/util/header.c                           |  94 +-
 tools/perf/util/help-unknown-cmd.c                 |   2 +
 tools/perf/util/hist.c                             | 228 +++--
 tools/perf/util/hist.h                             |  32 +-
 tools/perf/util/include/asm/byteorder.h            |   2 -
 tools/perf/util/include/asm/unistd_32.h            |   1 -
 tools/perf/util/include/asm/unistd_64.h            |   1 -
 tools/perf/util/include/linux/const.h              |   1 -
 tools/perf/util/intel-bts.c                        |  24 +-
 tools/perf/util/intel-pt-decoder/Build             |   5 +-
 tools/perf/util/intel-pt.c                         |  26 +-
 tools/perf/util/intlist.h                          |   8 +-
 tools/perf/util/jitdump.c                          |   2 +-
 tools/perf/util/levenshtein.c                      |   4 +-
 tools/perf/util/libunwind/arm64.c                  |  40 +
 tools/perf/util/libunwind/x86_32.c                 |  43 +
 tools/perf/util/llvm-utils.c                       |  53 +-
 tools/perf/util/llvm-utils.h                       |   5 +
 tools/perf/util/machine.c                          |  20 +-
 tools/perf/util/map.c                              |  12 +-
 tools/perf/util/map.h                              |   2 +-
 tools/perf/util/mem-events.c                       |  17 +-
 tools/perf/util/mem-events.h                       |   1 +
 tools/perf/util/parse-events.c                     | 142 ++-
 tools/perf/util/parse-events.h                     |   7 +-
 tools/perf/util/parse-events.l                     |   4 +
 tools/perf/util/path.c                             |  67 +-
 tools/perf/util/probe-event.c                      | 526 +++++++++--
 tools/perf/util/probe-event.h                      |   6 +
 tools/perf/util/probe-file.c                       | 547 +++++++++++-
 tools/perf/util/probe-file.h                       |  42 +
 tools/perf/util/probe-finder.c                     |   4 +-
 tools/perf/util/python-ext-sources                 |   2 +
 tools/perf/util/python.c                           | 152 +++-
 tools/perf/util/quote.c                            |   4 +-
 tools/perf/util/quote.h                            |   3 +-
 tools/perf/util/rb_resort.h                        |   4 +-
 tools/perf/util/record.c                           |   8 +-
 .../util/scripting-engines/trace-event-python.c    |  29 +-
 tools/perf/util/session.c                          |  36 +-
 tools/perf/util/sort.c                             |  36 +-
 tools/perf/util/sort.h                             |   6 +
 tools/perf/util/stat-shadow.c                      | 162 ++++
 tools/perf/util/stat.c                             |  11 +-
 tools/perf/util/stat.h                             |   5 +
 tools/perf/util/strbuf.c                           |   2 +-
 tools/perf/util/strbuf.h                           |   3 +
 tools/perf/util/strlist.h                          |   4 +-
 tools/perf/util/symbol-elf.c                       | 271 ++++++
 tools/perf/util/symbol.c                           |  75 +-
 tools/perf/util/symbol.h                           |  22 +
 tools/perf/util/target.c                           |   3 +-
 tools/perf/util/thread-stack.c                     |   7 +
 tools/perf/util/thread-stack.h                     |   1 +
 tools/perf/util/thread.c                           |  61 +-
 tools/perf/util/thread.h                           |  11 +-
 tools/perf/util/thread_map.c                       |   4 +-
 tools/perf/util/trace-event.c                      |   8 +
 tools/perf/util/trace-event.h                      |   2 +
 tools/perf/util/unwind-libunwind-local.c           | 699 +++++++++++++++
 tools/perf/util/unwind-libunwind.c                 | 695 +--------------
 tools/perf/util/unwind.h                           |  34 +-
 tools/perf/util/util.c                             |  48 +-
 tools/perf/util/util.h                             |   7 +-
 tools/perf/util/vdso.c                             |  40 +-
 324 files changed, 13994 insertions(+), 2546 deletions(-)
 create mode 100644 tools/arch/alpha/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/arm/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/arm/include/uapi/asm/perf_regs.h
 create mode 100644 tools/arch/arm64/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/arm64/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/arm64/include/uapi/asm/perf_regs.h
 create mode 100644 tools/arch/frv/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/h8300/include/asm/bitsperlong.h
 create mode 100644 tools/arch/hexagon/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/ia64/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/m32r/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/microblaze/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/mips/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/mips/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/mn10300/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/parisc/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/powerpc/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/powerpc/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/powerpc/include/uapi/asm/perf_regs.h
 create mode 100644 tools/arch/s390/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/s390/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/s390/include/uapi/asm/kvm_perf.h
 create mode 100644 tools/arch/s390/include/uapi/asm/sie.h
 create mode 100644 tools/arch/score/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/sparc/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/tile/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/x86/include/asm/cpufeatures.h
 create mode 100644 tools/arch/x86/include/asm/disabled-features.h
 create mode 100644 tools/arch/x86/include/asm/required-features.h
 create mode 100644 tools/arch/x86/include/asm/unistd_32.h
 create mode 100644 tools/arch/x86/include/asm/unistd_64.h
 create mode 100644 tools/arch/x86/include/uapi/asm/bitsperlong.h
 create mode 100644 tools/arch/x86/include/uapi/asm/kvm.h
 create mode 100644 tools/arch/x86/include/uapi/asm/kvm_perf.h
 create mode 100644 tools/arch/x86/include/uapi/asm/perf_regs.h
 create mode 100644 tools/arch/x86/include/uapi/asm/svm.h
 create mode 100644 tools/arch/x86/include/uapi/asm/vmx.h
 create mode 100644 tools/arch/x86/lib/memcpy_64.S
 create mode 100644 tools/arch/x86/lib/memset_64.S
 create mode 100644 tools/build/feature/test-libelf-gelf_getnote.c
 create mode 100644 tools/build/feature/test-libelf-getshdrstrndx.c
 create mode 100644 tools/build/feature/test-sdt.c
 create mode 100644 tools/include/asm-generic/bitsperlong.h
 rename tools/{perf/util => }/include/asm/alternative-asm.h (66%)
 create mode 100644 tools/include/uapi/asm-generic/bitsperlong.h
 create mode 100644 tools/include/uapi/linux/bpf.h
 create mode 100644 tools/include/uapi/linux/bpf_common.h
 create mode 100644 tools/include/uapi/linux/hw_breakpoint.h
 create mode 100644 tools/include/uapi/linux/perf_event.h
 create mode 100644 tools/lib/str_error_r.c
 create mode 100644 tools/lib/vsprintf.c
 create mode 100644 tools/perf/Documentation/perf.data-file-format.txt
 create mode 100644 tools/perf/arch/x86/util/group.c
 create mode 100755 tools/perf/python/tracepoint.py
 create mode 100755 tools/perf/scripts/python/bin/stackcollapse-record
 create mode 100755 tools/perf/scripts/python/bin/stackcollapse-report
 create mode 100755 tools/perf/scripts/python/stackcollapse.py
 create mode 100644 tools/perf/tests/is_printable_array.c
 create mode 100644 tools/perf/tests/sdt.c
 create mode 100644 tools/perf/ui/browsers/hists.h
 create mode 100644 tools/perf/util/data-convert.h
 create mode 100644 tools/perf/util/demangle-rust.c
 create mode 100644 tools/perf/util/demangle-rust.h
 create mode 100644 tools/perf/util/group.h
 delete mode 100644 tools/perf/util/include/asm/byteorder.h
 delete mode 100644 tools/perf/util/include/asm/unistd_32.h
 delete mode 100644 tools/perf/util/include/asm/unistd_64.h
 delete mode 100644 tools/perf/util/include/linux/const.h
 create mode 100644 tools/perf/util/libunwind/arm64.c
 create mode 100644 tools/perf/util/libunwind/x86_32.c
 create mode 100644 tools/perf/util/unwind-libunwind-local.c

[ ... diff omitted due to size ... ]

Powered by blists - more mailing lists