| From 013a5f1c93f785c733f2cf9647ef9042ae085514 Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Fri, 3 Jul 2009 08:44:29 -0500 |
| Subject: [PATCH] trace: fix erroneous histogram stop WARN_ON() messages |
| |
| commit ec4ed75d7e2fedd6c353d63be2583acd3d411b43 in tip. |
| |
| IRQs are temporarily disabled during histogram calculation in |
| cycles_2_ns(). This causes a nested irqs_off histogram processing |
| which emittes an erroneous WARN_ON() message and also confuses the |
| histogramm output. |
| |
| Change local_irq to raw_local_irq in cycles_2_ns to prevent irqs_off |
| histogram processing. |
| |
| Tested-by: Carsten Emde <C.Emde@osadl.org> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| |
| diff --git a/arch/x86/include/asm/timer.h b/arch/x86/include/asm/timer.h |
| index 5469630..3d20117 100644 |
| --- a/arch/x86/include/asm/timer.h |
| +++ b/arch/x86/include/asm/timer.h |
| @@ -58,9 +58,9 @@ static inline unsigned long long cycles_2_ns(unsigned long long cyc) |
| unsigned long long ns; |
| unsigned long flags; |
| |
| - local_irq_save(flags); |
| + raw_local_irq_save(flags); |
| ns = __cycles_2_ns(cyc); |
| - local_irq_restore(flags); |
| + raw_local_irq_restore(flags); |
| |
| return ns; |
| } |
| -- |
| 1.7.1.1 |
| |