diff options
| author | Ingo Molnar <mingo@kernel.org> | 2012-12-08 09:25:06 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2012-12-08 09:25:06 -0500 |
| commit | f0b9abfb044649bc452fb2fb975ff2fd599cc6a3 (patch) | |
| tree | 7800081c5cb16a4dfee1e57a70f3be90f7b50d9a /tools | |
| parent | adc1ef1e37358d3c17d1a74a58b2e104fc0bda15 (diff) | |
| parent | 1b3c393cd43f22ead8a6a2f839efc6df8ebd7465 (diff) | |
Merge branch 'linus' into perf/core
Conflicts:
tools/perf/Makefile
tools/perf/builtin-test.c
tools/perf/perf.h
tools/perf/tests/parse-events.c
tools/perf/util/evsel.h
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/perf/Makefile | 30 | ||||
| -rw-r--r-- | tools/perf/arch/x86/include/perf_regs.h | 2 | ||||
| -rw-r--r-- | tools/perf/builtin-kvm.c | 121 | ||||
| -rw-r--r-- | tools/perf/perf.h | 15 | ||||
| -rw-r--r-- | tools/perf/tests/parse-events.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/evsel.c | 4 | ||||
| -rw-r--r-- | tools/perf/util/evsel.h | 2 | ||||
| -rw-r--r-- | tools/perf/util/header.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/header.h | 2 | ||||
| -rw-r--r-- | tools/perf/util/parse-events.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/parse-events.h | 2 | ||||
| -rw-r--r-- | tools/perf/util/pmu.h | 2 | ||||
| -rw-r--r-- | tools/perf/util/session.h | 2 | ||||
| -rw-r--r-- | tools/perf/util/strbuf.c | 8 | ||||
| -rw-r--r-- | tools/power/x86/turbostat/turbostat.c | 28 | ||||
| -rwxr-xr-x | tools/testing/ktest/ktest.pl | 6 | ||||
| -rw-r--r-- | tools/testing/selftests/Makefile | 2 | ||||
| -rw-r--r-- | tools/testing/selftests/epoll/Makefile | 11 | ||||
| -rw-r--r-- | tools/testing/selftests/epoll/test_epoll.c | 344 | ||||
| -rw-r--r-- | tools/vm/page-types.c | 2 |
20 files changed, 140 insertions, 449 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index a7c6aa8d4a8b..891bc77bdb2c 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
| @@ -169,7 +169,35 @@ endif | |||
| 169 | 169 | ||
| 170 | ### --- END CONFIGURATION SECTION --- | 170 | ### --- END CONFIGURATION SECTION --- |
| 171 | 171 | ||
| 172 | BASIC_CFLAGS = -Iutil/include -Iarch/$(ARCH)/include -I$(OUTPUT)util -Iutil -I. -I$(TRACE_EVENT_DIR) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE | 172 | ifeq ($(srctree),) |
| 173 | srctree := $(patsubst %/,%,$(dir $(shell pwd))) | ||
| 174 | srctree := $(patsubst %/,%,$(dir $(srctree))) | ||
| 175 | #$(info Determined 'srctree' to be $(srctree)) | ||
| 176 | endif | ||
| 177 | |||
| 178 | ifneq ($(objtree),) | ||
| 179 | #$(info Determined 'objtree' to be $(objtree)) | ||
| 180 | endif | ||
| 181 | |||
| 182 | ifneq ($(OUTPUT),) | ||
| 183 | #$(info Determined 'OUTPUT' to be $(OUTPUT)) | ||
| 184 | endif | ||
| 185 | |||
| 186 | BASIC_CFLAGS = \ | ||
| 187 | -Iutil/include \ | ||
| 188 | -Iarch/$(ARCH)/include \ | ||
| 189 | $(if $(objtree),-I$(objtree)/arch/$(ARCH)/include/generated/uapi) \ | ||
| 190 | -I$(srctree)/arch/$(ARCH)/include/uapi \ | ||
| 191 | -I$(srctree)/arch/$(ARCH)/include \ | ||
| 192 | $(if $(objtree),-I$(objtree)/include/generated/uapi) \ | ||
| 193 | -I$(srctree)/include/uapi \ | ||
| 194 | -I$(srctree)/include \ | ||
| 195 | -I$(OUTPUT)util \ | ||
| 196 | -Iutil \ | ||
| 197 | -I. \ | ||
| 198 | -I$(TRACE_EVENT_DIR) \ | ||
| 199 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE | ||
| 200 | |||
| 173 | BASIC_LDFLAGS = | 201 | BASIC_LDFLAGS = |
| 174 | 202 | ||
| 175 | ifeq ($(call try-cc,$(SOURCE_BIONIC),$(CFLAGS),bionic),y) | 203 | ifeq ($(call try-cc,$(SOURCE_BIONIC),$(CFLAGS),bionic),y) |
diff --git a/tools/perf/arch/x86/include/perf_regs.h b/tools/perf/arch/x86/include/perf_regs.h index 46fc9f15c6b3..7fcdcdbee917 100644 --- a/tools/perf/arch/x86/include/perf_regs.h +++ b/tools/perf/arch/x86/include/perf_regs.h | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include <stdlib.h> | 4 | #include <stdlib.h> |
| 5 | #include "../../util/types.h" | 5 | #include "../../util/types.h" |
| 6 | #include "../../../../../arch/x86/include/asm/perf_regs.h" | 6 | #include <asm/perf_regs.h> |
| 7 | 7 | ||
| 8 | #ifndef ARCH_X86_64 | 8 | #ifndef ARCH_X86_64 |
| 9 | #define PERF_REGS_MASK ((1ULL << PERF_REG_X86_32_MAX) - 1) | 9 | #define PERF_REGS_MASK ((1ULL << PERF_REG_X86_32_MAX) - 1) |
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 836c82f01371..ca3f80ebc100 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c | |||
| @@ -22,9 +22,10 @@ | |||
| 22 | #include <pthread.h> | 22 | #include <pthread.h> |
| 23 | #include <math.h> | 23 | #include <math.h> |
| 24 | 24 | ||
| 25 | #include "../../arch/x86/include/asm/svm.h" | 25 | #if defined(__i386__) || defined(__x86_64__) |
| 26 | #include "../../arch/x86/include/asm/vmx.h" | 26 | #include <asm/svm.h> |
| 27 | #include "../../arch/x86/include/asm/kvm.h" | 27 | #include <asm/vmx.h> |
| 28 | #include <asm/kvm.h> | ||
| 28 | 29 | ||
| 29 | struct event_key { | 30 | struct event_key { |
| 30 | #define INVALID_KEY (~0ULL) | 31 | #define INVALID_KEY (~0ULL) |
| @@ -58,7 +59,7 @@ struct kvm_event_key { | |||
| 58 | }; | 59 | }; |
| 59 | 60 | ||
| 60 | 61 | ||
| 61 | struct perf_kvm; | 62 | struct perf_kvm_stat; |
| 62 | 63 | ||
| 63 | struct kvm_events_ops { | 64 | struct kvm_events_ops { |
| 64 | bool (*is_begin_event)(struct perf_evsel *evsel, | 65 | bool (*is_begin_event)(struct perf_evsel *evsel, |
| @@ -66,7 +67,7 @@ struct kvm_events_ops { | |||
| 66 | struct event_key *key); | 67 | struct event_key *key); |
| 67 | bool (*is_end_event)(struct perf_evsel *evsel, | 68 | bool (*is_end_event)(struct perf_evsel *evsel, |
| 68 | struct perf_sample *sample, struct event_key *key); | 69 | struct perf_sample *sample, struct event_key *key); |
| 69 | void (*decode_key)(struct perf_kvm *kvm, struct event_key *key, | 70 | void (*decode_key)(struct perf_kvm_stat *kvm, struct event_key *key, |
| 70 | char decode[20]); | 71 | char decode[20]); |
| 71 | const char *name; | 72 | const char *name; |
| 72 | }; | 73 | }; |
| @@ -79,7 +80,7 @@ struct exit_reasons_table { | |||
| 79 | #define EVENTS_BITS 12 | 80 | #define EVENTS_BITS 12 |
| 80 | #define EVENTS_CACHE_SIZE (1UL << EVENTS_BITS) | 81 | #define EVENTS_CACHE_SIZE (1UL << EVENTS_BITS) |
| 81 | 82 | ||
| 82 | struct perf_kvm { | 83 | struct perf_kvm_stat { |
| 83 | struct perf_tool tool; | 84 | struct perf_tool tool; |
| 84 | struct perf_session *session; | 85 | struct perf_session *session; |
| 85 | 86 | ||
| @@ -146,7 +147,7 @@ static struct exit_reasons_table svm_exit_reasons[] = { | |||
| 146 | SVM_EXIT_REASONS | 147 | SVM_EXIT_REASONS |
| 147 | }; | 148 | }; |
| 148 | 149 | ||
| 149 | static const char *get_exit_reason(struct perf_kvm *kvm, u64 exit_code) | 150 | static const char *get_exit_reason(struct perf_kvm_stat *kvm, u64 exit_code) |
| 150 | { | 151 | { |
| 151 | int i = kvm->exit_reasons_size; | 152 | int i = kvm->exit_reasons_size; |
| 152 | struct exit_reasons_table *tbl = kvm->exit_reasons; | 153 | struct exit_reasons_table *tbl = kvm->exit_reasons; |
| @@ -162,7 +163,7 @@ static const char *get_exit_reason(struct perf_kvm *kvm, u64 exit_code) | |||
| 162 | return "UNKNOWN"; | 163 | return "UNKNOWN"; |
| 163 | } | 164 | } |
| 164 | 165 | ||
| 165 | static void exit_event_decode_key(struct perf_kvm *kvm, | 166 | static void exit_event_decode_key(struct perf_kvm_stat *kvm, |
| 166 | struct event_key *key, | 167 | struct event_key *key, |
| 167 | char decode[20]) | 168 | char decode[20]) |
| 168 | { | 169 | { |
| @@ -228,7 +229,7 @@ static bool mmio_event_end(struct perf_evsel *evsel, struct perf_sample *sample, | |||
| 228 | return false; | 229 | return false; |
| 229 | } | 230 | } |
| 230 | 231 | ||
| 231 | static void mmio_event_decode_key(struct perf_kvm *kvm __maybe_unused, | 232 | static void mmio_event_decode_key(struct perf_kvm_stat *kvm __maybe_unused, |
| 232 | struct event_key *key, | 233 | struct event_key *key, |
| 233 | char decode[20]) | 234 | char decode[20]) |
| 234 | { | 235 | { |
| @@ -271,7 +272,7 @@ static bool ioport_event_end(struct perf_evsel *evsel, | |||
| 271 | return kvm_entry_event(evsel); | 272 | return kvm_entry_event(evsel); |
| 272 | } | 273 | } |
| 273 | 274 | ||
| 274 | static void ioport_event_decode_key(struct perf_kvm *kvm __maybe_unused, | 275 | static void ioport_event_decode_key(struct perf_kvm_stat *kvm __maybe_unused, |
| 275 | struct event_key *key, | 276 | struct event_key *key, |
| 276 | char decode[20]) | 277 | char decode[20]) |
| 277 | { | 278 | { |
| @@ -286,7 +287,7 @@ static struct kvm_events_ops ioport_events = { | |||
| 286 | .name = "IO Port Access" | 287 | .name = "IO Port Access" |
| 287 | }; | 288 | }; |
| 288 | 289 | ||
| 289 | static bool register_kvm_events_ops(struct perf_kvm *kvm) | 290 | static bool register_kvm_events_ops(struct perf_kvm_stat *kvm) |
| 290 | { | 291 | { |
| 291 | bool ret = true; | 292 | bool ret = true; |
| 292 | 293 | ||
| @@ -311,7 +312,7 @@ struct vcpu_event_record { | |||
| 311 | }; | 312 | }; |
| 312 | 313 | ||
| 313 | 314 | ||
