diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 19:15:23 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 19:15:23 -0400 |
| commit | f0bb4c0ab064a8aeeffbda1cee380151a594eaab (patch) | |
| tree | 14d55a89c5db455aa10ff9a96ca14c474a9c4d55 /tools | |
| parent | a4883ef6af5e513a1e8c2ab9aab721604aa3a4f5 (diff) | |
| parent | 983433b5812c5cf33a9008fa38c6f9b407fedb76 (diff) | |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar:
"Kernel improvements:
- watchdog driver improvements by Li Zefan
- Power7 CPI stack events related improvements by Sukadev Bhattiprolu
- event multiplexing via hrtimers and other improvements by Stephane
Eranian
- kernel stack use optimization by Andrew Hunter
- AMD IOMMU uncore PMU support by Suravee Suthikulpanit
- NMI handling rate-limits by Dave Hansen
- various hw_breakpoint fixes by Oleg Nesterov
- hw_breakpoint overflow period sampling and related signal handling
fixes by Jiri Olsa
- Intel Haswell PMU support by Andi Kleen
Tooling improvements:
- Reset SIGTERM handler in workload child process, fix from David
Ahern.
- Makefile reorganization, prep work for Kconfig patches, from Jiri
Olsa.
- Add automated make test suite, from Jiri Olsa.
- Add --percent-limit option to 'top' and 'report', from Namhyung
Kim.
- Sorting improvements, from Namhyung Kim.
- Expand definition of sysfs format attribute, from Michael Ellerman.
Tooling fixes:
- 'perf tests' fixes from Jiri Olsa.
- Make Power7 CPI stack events available in sysfs, from Sukadev
Bhattiprolu.
- Handle death by SIGTERM in 'perf record', fix from David Ahern.
- Fix printing of perf_event_paranoid message, from David Ahern.
- Handle realloc failures in 'perf kvm', from David Ahern.
- Fix divide by 0 in variance, from David Ahern.
- Save parent pid in thread struct, from David Ahern.
- Handle JITed code in shared memory, from Andi Kleen.
- Fixes for 'perf diff', from Jiri Olsa.
- Remove some unused struct members, from Jiri Olsa.
- Add missing liblk.a dependency for python/perf.so, fix from Jiri
Olsa.
- Respect CROSS_COMPILE in liblk.a, from Rabin Vincent.
- No need to do locking when adding hists in perf report, only 'top'
needs that, from Namhyung Kim.
- Fix alignment of symbol column in in the hists browser (top,
report) when -v is given, from NAmhyung Kim.
- Fix 'perf top' -E option behavior, from Namhyung Kim.
- Fix bug in isupper() and islower(), from Sukadev Bhattiprolu.
- Fix compile errors in bp_signal 'perf test', from Sukadev
Bhattiprolu.
... and more things"
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (102 commits)
perf/x86: Disable PEBS-LL in intel_pmu_pebs_disable()
perf/x86: Fix shared register mutual exclusion enforcement
perf/x86/intel: Support full width counting
x86: Add NMI duration tracepoints
perf: Drop sample rate when sampling is too slow
x86: Warn when NMI handlers take large amounts of time
hw_breakpoint: Introduce "struct bp_cpuinfo"
hw_breakpoint: Simplify *register_wide_hw_breakpoint()
hw_breakpoint: Introduce cpumask_of_bp()
hw_breakpoint: Simplify the "weight" usage in toggle_bp_slot() paths
hw_breakpoint: Simplify list/idx mess in toggle_bp_slot() paths
perf/x86/intel: Add mem-loads/stores support for Haswell
perf/x86/intel: Support Haswell/v4 LBR format
perf/x86/intel: Move NMI clearing to end of PMI handler
perf/x86/intel: Add Haswell PEBS support
perf/x86/intel: Add simple Haswell PMU support
perf/x86/intel: Add Haswell PEBS record support
perf/x86/intel: Fix sparse warning
perf/x86/amd: AMD IOMMU Performance Counter PERF uncore PMU implementation
perf/x86/amd: Add IOMMU Performance Counter resource management
...
Diffstat (limited to 'tools')
38 files changed, 1164 insertions, 773 deletions
diff --git a/tools/lib/lk/Makefile b/tools/lib/lk/Makefile index 926cbf3efc7f..2c5a19733357 100644 --- a/tools/lib/lk/Makefile +++ b/tools/lib/lk/Makefile | |||
| @@ -1,5 +1,8 @@ | |||
| 1 | include ../../scripts/Makefile.include | 1 | include ../../scripts/Makefile.include |
| 2 | 2 | ||
| 3 | CC = $(CROSS_COMPILE)gcc | ||
| 4 | AR = $(CROSS_COMPILE)ar | ||
| 5 | |||
| 3 | # guard against environment variables | 6 | # guard against environment variables |
| 4 | LIB_H= | 7 | LIB_H= |
| 5 | LIB_OBJS= | 8 | LIB_OBJS= |
diff --git a/tools/perf/Documentation/perf-archive.txt b/tools/perf/Documentation/perf-archive.txt index fae174dc7d01..5032a142853e 100644 --- a/tools/perf/Documentation/perf-archive.txt +++ b/tools/perf/Documentation/perf-archive.txt | |||
| @@ -13,7 +13,7 @@ SYNOPSIS | |||
| 13 | DESCRIPTION | 13 | DESCRIPTION |
| 14 | ----------- | 14 | ----------- |
| 15 | This command runs runs perf-buildid-list --with-hits, and collects the files | 15 | This command runs runs perf-buildid-list --with-hits, and collects the files |
| 16 | with the buildids found so that analisys of perf.data contents can be possible | 16 | with the buildids found so that analysis of perf.data contents can be possible |
| 17 | on another machine. | 17 | on another machine. |
| 18 | 18 | ||
| 19 | 19 | ||
diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt index 7d5f4f38aa52..66dab7410c1d 100644 --- a/tools/perf/Documentation/perf-report.txt +++ b/tools/perf/Documentation/perf-report.txt | |||
| @@ -210,6 +210,10 @@ OPTIONS | |||
| 210 | Demangle symbol names to human readable form. It's enabled by default, | 210 | Demangle symbol names to human readable form. It's enabled by default, |
| 211 | disable with --no-demangle. | 211 | disable with --no-demangle. |
| 212 | 212 | ||
| 213 | --percent-limit:: | ||
| 214 | Do not show entries which have an overhead under that percent. | ||
| 215 | (Default: 0). | ||
| 216 | |||
| 213 | SEE ALSO | 217 | SEE ALSO |
| 214 | -------- | 218 | -------- |
| 215 | linkperf:perf-stat[1], linkperf:perf-annotate[1] | 219 | linkperf:perf-stat[1], linkperf:perf-annotate[1] |
diff --git a/tools/perf/Documentation/perf-top.txt b/tools/perf/Documentation/perf-top.txt index 9f1a2fe54757..7fdd1909e376 100644 --- a/tools/perf/Documentation/perf-top.txt +++ b/tools/perf/Documentation/perf-top.txt | |||
| @@ -155,6 +155,10 @@ Default is to monitor all CPUS. | |||
| 155 | 155 | ||
| 156 | Default: fractal,0.5,callee. | 156 | Default: fractal,0.5,callee. |
| 157 | 157 | ||
| 158 | --percent-limit:: | ||
| 159 | Do not show entries which have an overhead under that percent. | ||
| 160 | (Default: 0). | ||
| 161 | |||
| 158 | INTERACTIVE PROMPTING KEYS | 162 | INTERACTIVE PROMPTING KEYS |
| 159 | -------------------------- | 163 | -------------------------- |
| 160 | 164 | ||
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index b0f164b133d9..203cb0eecff2 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
| @@ -51,189 +51,63 @@ include config/utilities.mak | |||
| 51 | # Define NO_BACKTRACE if you do not want stack backtrace debug feature | 51 | # Define NO_BACKTRACE if you do not want stack backtrace debug feature |
| 52 | # | 52 | # |
| 53 | # Define NO_LIBNUMA if you do not want numa perf benchmark | 53 | # Define NO_LIBNUMA if you do not want numa perf benchmark |
| 54 | # | ||
| 55 | # Define NO_LIBAUDIT if you do not want libaudit support | ||
| 56 | # | ||
| 57 | # Define NO_LIBBIONIC if you do not want bionic support | ||
| 54 | 58 | ||
| 55 | $(OUTPUT)PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE | 59 | ifeq ($(srctree),) |
| 56 | @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT) | 60 | srctree := $(patsubst %/,%,$(dir $(shell pwd))) |
| 57 | 61 | srctree := $(patsubst %/,%,$(dir $(srctree))) | |
| 58 | uname_M := $(shell uname -m 2>/dev/null || echo not) | 62 | #$(info Determined 'srctree' to be $(srctree)) |
| 59 | |||
| 60 | ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ | ||
| 61 | -e s/arm.*/arm/ -e s/sa110/arm/ \ | ||
| 62 | -e s/s390x/s390/ -e s/parisc64/parisc/ \ | ||
| 63 | -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ | ||
| 64 | -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ ) | ||
| 65 | NO_PERF_REGS := 1 | ||
| 66 | |||
| 67 | CC = $(CROSS_COMPILE)gcc | ||
| 68 | AR = $(CROSS_COMPILE)ar | ||
| 69 | |||
| 70 | # Additional ARCH settings for x86 | ||
| 71 | ifeq ($(ARCH),i386) | ||
| 72 | override ARCH := x86 | ||
| 73 | NO_PERF_REGS := 0 | ||
| 74 | LIBUNWIND_LIBS = -lunwind -lunwind-x86 | ||
| 75 | endif | ||
| 76 | ifeq ($(ARCH),x86_64) | ||
| 77 | override ARCH := x86 | ||
| 78 | IS_X86_64 := 0 | ||
| 79 | ifeq (, $(findstring m32,$(EXTRA_CFLAGS))) | ||
| 80 | IS_X86_64 := $(shell echo __x86_64__ | ${CC} -E -x c - | tail -n 1) | ||
| 81 | endif | ||
| 82 | ifeq (${IS_X86_64}, 1) | ||
| 83 | RAW_ARCH := x86_64 | ||
| 84 | ARCH_CFLAGS := -DARCH_X86_64 | ||
| 85 | ARCH_INCLUDE = ../../arch/x86/lib/memcpy_64.S ../../arch/x86/lib/memset_64.S | ||
| 86 | endif | ||
| 87 | NO_PERF_REGS := 0 | ||
| 88 | LIBUNWIND_LIBS = -lunwind -lunwind-x86_64 | ||
| 89 | endif | ||
| 90 | |||
| 91 | # Treat warnings as errors unless directed not to | ||
| 92 | ifneq ($(WERROR),0) | ||
| 93 | CFLAGS_WERROR := -Werror | ||
| 94 | endif | ||
| 95 | |||
| 96 | ifeq ("$(origin DEBUG)", "command line") | ||
| 97 | PERF_DEBUG = $(DEBUG) | ||
| 98 | endif | ||
| 99 | ifndef PERF_DEBUG | ||
| 100 | CFLAGS_OPTIMIZE = -O6 | ||
| 101 | endif | 63 | endif |
| 102 | 64 | ||
| 103 | ifdef PARSER_DEBUG | 65 | ifneq ($(objtree),) |
| 104 | PARSER_DEBUG | ||
