[PATCH] ARM: Stop irqsoff trace on return to user
Todd Poynor
toddpoynor at google.com
Fri Dec 3 22:41:47 EST 2010
If the irqsoff tracer is in use, stop tracing the interrupt disable
interval when returning to userspace. Tracing userspace execution
time as interrupts disabled time is not useful for kernel
performance analysis purposes, and crowds out more helpful results
with long userspace execution times. Some other architectures do
something similar.
Only do so if the irqsoff tracer is enabled, to avoid overhead for
lockdep, which doesn't care about userspace execution time with
interrupts disabled.
Signed-off-by: Todd Poynor <toddpoynor at google.com>
---
arch/arm/kernel/entry-common.S | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 8bfa987..80bf8cd 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -29,6 +29,9 @@ ret_fast_syscall:
ldr r1, [tsk, #TI_FLAGS]
tst r1, #_TIF_WORK_MASK
bne fast_work_pending
+#if defined(CONFIG_IRQSOFF_TRACER)
+ asm_trace_hardirqs_on
+#endif
/* perform architecture specific actions before user return */
arch_ret_to_user r1, lr
@@ -65,6 +68,9 @@ ret_slow_syscall:
tst r1, #_TIF_WORK_MASK
bne work_pending
no_work_pending:
+#if defined(CONFIG_IRQSOFF_TRACER)
+ asm_trace_hardirqs_on
+#endif
/* perform architecture specific actions before user return */
arch_ret_to_user r1, lr
--
1.7.3.1
More information about the linux-arm-kernel
mailing list