| From 779a264d514f28743aca359f1fa8f7a3d0929609 Mon Sep 17 00:00:00 2001 |
| From: Kevin Hilman <khilman@mvista.com> |
| Date: Fri, 3 Jul 2009 08:44:45 -0500 |
| Subject: [PATCH] arm: Mark XScale performance monitor unit (PMU) interrupt IRQF_NODELAY |
| |
| commit 9135967b2d67565ab6f6d36721ae0b0fbe8b84a0 in tip. |
| |
| PMU results are not useful if that ISR is run as thread. |
| |
| Signed-off-by: Kevin Hilman <khilman@mvista.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| arch/arm/oprofile/op_model_xscale.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/arch/arm/oprofile/op_model_xscale.c b/arch/arm/oprofile/op_model_xscale.c |
| index 1d34a02..1fa40e8 100644 |
| --- a/arch/arm/oprofile/op_model_xscale.c |
| +++ b/arch/arm/oprofile/op_model_xscale.c |
| @@ -376,6 +376,7 @@ static int xscale_pmu_start(void) |
| { |
| int ret; |
| u32 pmnc; |
| + unsigned long irq_flags = IRQF_DISABLED | IRQF_NODELAY; |
| |
| pmu_irqs = reserve_pmu(); |
| if (IS_ERR(pmu_irqs)) |
| @@ -384,7 +385,7 @@ static int xscale_pmu_start(void) |
| pmnc = read_pmnc(); |
| |
| ret = request_irq(pmu_irqs->irqs[0], xscale_pmu_interrupt, |
| - IRQF_DISABLED, "XScale PMU", (void *)results); |
| + irq_flags, "XScale PMU", (void *)results); |
| |
| if (ret < 0) { |
| printk(KERN_ERR "oprofile: unable to request IRQ%d for XScale PMU\n", |
| -- |
| 1.7.1.1 |
| |