aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-09-15 04:27:31 -0400
committerIngo Molnar <mingo@elte.hu>2010-09-15 04:27:31 -0400
commit3aabae7d9dfaed60effe93662f02c19bafc18537 (patch)
treeaf94cdd69add07601d9f3f5988dfc1dc255e3886 /arch/arm/kernel
parent79e406d7b00ab2b261ae32a59f266fd3b7af6f29 (diff)
parent57c072c7113f54f9512624d6c665db6184448782 (diff)
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/calls.S3
-rw-r--r--arch/arm/kernel/etm.c2
-rw-r--r--arch/arm/kernel/perf_event.c12
3 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index afeb71fa72cb..5c26eccef998 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -376,6 +376,9 @@
376 CALL(sys_perf_event_open) 376 CALL(sys_perf_event_open)
377/* 365 */ CALL(sys_recvmmsg) 377/* 365 */ CALL(sys_recvmmsg)
378 CALL(sys_accept4) 378 CALL(sys_accept4)
379 CALL(sys_fanotify_init)
380 CALL(sys_fanotify_mark)
381 CALL(sys_prlimit64)
379#ifndef syscalls_counted 382#ifndef syscalls_counted
380.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 383.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
381#define syscalls_counted 384#define syscalls_counted
diff --git a/arch/arm/kernel/etm.c b/arch/arm/kernel/etm.c
index 56418f98cd01..33c7077174db 100644
--- a/arch/arm/kernel/etm.c
+++ b/arch/arm/kernel/etm.c
@@ -230,7 +230,7 @@ static void etm_dump(void)
230 etb_lock(t); 230 etb_lock(t);
231} 231}
232 232
233static void sysrq_etm_dump(int key, struct tty_struct *tty) 233static void sysrq_etm_dump(int key)
234{ 234{
235 dev_dbg(tracer.dev, "Dumping ETB buffer\n"); 235 dev_dbg(tracer.dev, "Dumping ETB buffer\n");
236 etm_dump(); 236 etm_dump();
diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
index 45d6a35217c1..ad19c276b10f 100644
--- a/arch/arm/kernel/perf_event.c
+++ b/arch/arm/kernel/perf_event.c
@@ -342,8 +342,8 @@ validate_event(struct cpu_hw_events *cpuc,
342{ 342{
343 struct hw_perf_event fake_event = event->hw; 343 struct hw_perf_event fake_event = event->hw;
344 344
345 if (event->pmu && event->pmu != &pmu) 345 if (event->pmu != &pmu || event->state <= PERF_EVENT_STATE_OFF)
346 return 0; 346 return 1;
347 347
348 return armpmu->get_event_idx(cpuc, &fake_event) >= 0; 348 return armpmu->get_event_idx(cpuc, &fake_event) >= 0;
349} 349}
@@ -1082,8 +1082,8 @@ armv6pmu_handle_irq(int irq_num,
1082 /* 1082 /*
1083 * Handle the pending perf events. 1083 * Handle the pending perf events.
1084 * 1084 *
1085 * Note: this call *must* be run with interrupts enabled. For 1085 * Note: this call *must* be run with interrupts disabled. For
1086 * platforms that can have the PMU interrupts raised as a PMI, this 1086 * platforms that can have the PMU interrupts raised as an NMI, this
1087 * will not work. 1087 * will not work.
1088 */ 1088 */
1089 perf_event_do_pending(); 1089 perf_event_do_pending();
@@ -2058,8 +2058,8 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev)
2058 /* 2058 /*
2059 * Handle the pending perf events. 2059 * Handle the pending perf events.
2060 * 2060 *
2061 * Note: this call *must* be run with interrupts enabled. For 2061 * Note: this call *must* be run with interrupts disabled. For
2062 * platforms that can have the PMU interrupts raised as a PMI, this 2062 * platforms that can have the PMU interrupts raised as an NMI, this
2063 * will not work. 2063 * will not work.
2064 */ 2064 */
2065 perf_event_do_pending(); 2065 perf_event_do_pending();