Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89f1c2c5 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-core-for-mingo-20160920' of...

Merge tag 'perf-core-for-mingo-20160920' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/core

Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

User visible changes:

- Support event group view with hierarchy mode in 'perf top' and 'perf report'
  (Namhyung Kim)

  e.g.:

  $ perf record -e '{cycles,instructions}' make
  $ perf report --hierarchy --stdio
  ...
  #               Overhead  Command / Shared Object / Symbol
  # ......................  ..................................
  ...
      25.74%  27.18%        sh
         19.96%  24.14%        libc-2.24.so
            9.55%  14.64%        [.] __strcmp_sse2
            1.54%   0.00%        [.] __tfind
            1.07%   1.13%        [.] _int_malloc
            0.95%   0.00%        [.] __strchr_sse2
            0.89%   1.39%        [.] __tsearch
            0.76%   0.00%        [.] strlen

- Fix the dwarf regs table for x86_64, adding a missing % to the "%di"
  register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo)

- Fix handling of mmap parameters in the 'perf trace' beautifier in
  architectures that don't have the same mappings as x86_64 (Wang Nan)

- Handle hugetbl mappings in older systems running new kernels (Wang Nan)

- Resolve 'call' operands in 'annotate', that when using /proc/kcore
  were appearing just as hexadecimal addresses, to function names
  (Arnaldo Carvalho de Melo)

- Fix width computation for srcline sort entry (Jiri Olsa)

- Do not ignore call instruction with indirect target in 'annotate'
  (Ravi Bangoria)

- Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan)

- Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan)

Infrastructure changes:

- Add infrastructure for PMU specific configuration, allowing to pass
  config variables directly to the kernel PMU driver, prefixing those
  variables with a '@', part of a larger series to support Coresight (Mathieu Poirier)

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 8ee83b2a 3c028a0c
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
#ifndef TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
#define TOOLS_ARCH_ALPHA_UAPI_ASM_MMAN_FIX_H
#define MADV_DODUMP	17
#define MADV_DOFORK	11
#define MADV_DONTDUMP   16
#define MADV_DONTFORK	10
#define MADV_DONTNEED	6
#define MADV_FREE	8
#define MADV_HUGEPAGE	14
#define MADV_MERGEABLE   12
#define MADV_NOHUGEPAGE	15
#define MADV_NORMAL	0
#define MADV_RANDOM	1
#define MADV_REMOVE	9
#define MADV_SEQUENTIAL	2
#define MADV_UNMERGEABLE 13
#define MADV_WILLNEED	3
#define MAP_ANONYMOUS	0x10
#define MAP_DENYWRITE	0x02000
#define MAP_EXECUTABLE	0x04000
#define MAP_FILE	0
#define MAP_FIXED	0x100
#define MAP_GROWSDOWN	0x01000
#define MAP_HUGETLB	0x100000
#define MAP_LOCKED	0x08000
#define MAP_NONBLOCK	0x40000
#define MAP_NORESERVE	0x10000
#define MAP_POPULATE	0x20000
#define MAP_PRIVATE	0x02
#define MAP_SHARED	0x01
#define MAP_STACK	0x80000
#define PROT_EXEC	0x4
#define PROT_GROWSDOWN	0x01000000
#define PROT_GROWSUP	0x02000000
#define PROT_NONE	0x0
#define PROT_READ	0x1
#define PROT_SEM	0x8
#define PROT_WRITE	0x2
/* MADV_HWPOISON is undefined on alpha, fix it for perf */
#define MADV_HWPOISON	100
/* MADV_SOFT_OFFLINE is undefined on alpha, fix it for perf */
#define MADV_SOFT_OFFLINE 101
/* MAP_32BIT is undefined on alpha, fix it for perf */
#define MAP_32BIT	0
/* MAP_UNINITIALIZED is undefined on alpha, fix it for perf */
#define MAP_UNINITIALIZED	0
#endif
+6 −0
Original line number Diff line number Diff line
#ifndef TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H
#define TOOLS_ARCH_ARC_UAPI_ASM_MMAN_FIX_H
#include <uapi/asm-generic/mman.h>
/* MAP_32BIT is undefined on arc, fix it for perf */
#define MAP_32BIT	0
#endif
+6 −0
Original line number Diff line number Diff line
#ifndef TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
#define TOOLS_ARCH_ARM_UAPI_ASM_MMAN_FIX_H
#include <uapi/asm-generic/mman.h>
/* MAP_32BIT is undefined on arm, fix it for perf */
#define MAP_32BIT	0
#endif
+6 −0
Original line number Diff line number Diff line
#ifndef TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
#define TOOLS_ARCH_ARM64_UAPI_ASM_MMAN_FIX_H
#include <uapi/asm-generic/mman.h>
/* MAP_32BIT is undefined on arm64, fix it for perf */
#define MAP_32BIT	0
#endif
+6 −0
Original line number Diff line number Diff line
#ifndef TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
#define TOOLS_ARCH_FRV_UAPI_ASM_MMAN_FIX_H
#include <uapi/asm-generic/mman.h>
/* MAP_32BIT is undefined on frv, fix it for perf */
#define MAP_32BIT	0
#endif
Loading