[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4501C2FE.40109@mvista.com>
Date: Fri, 08 Sep 2006 12:22:38 -0700
From: Kevin Hilman <khilman@...sta.com>
To: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH -rt] use SA_NODELAY for XScale PMU interrupts
In the XScale oprofile support, the performance monitoring unit (PMU)
triggers interrupts and the ISR reads out the performance data. These
ISRs are currently set to SA_INTERRUPT. In order to get accurate
performance and profiling data under PREEMPT_RT, these should use
SA_NODELAY. The functions called by this ISR are limited to
drivers/oprofile functions.
Patch against 2.6.18-rt8
Signed-off-by: Kevin Hilman <khilman@...sta.com>
Index: dev/arch/arm/oprofile/op_model_xscale.c
===================================================================
--- dev.orig/arch/arm/oprofile/op_model_xscale.c
+++ dev/arch/arm/oprofile/op_model_xscale.c
@@ -14,12 +14,14 @@
* @author Zwane Mwaikambo
*/
-/* #define DEBUG */
+#define DEBUG
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/oprofile.h>
#include <linux/interrupt.h>
+#include <linux/irq.h>
+
#include <asm/irq.h>
#include <asm/system.h>
@@ -383,8 +385,9 @@ static int xscale_pmu_start(void)
{
int ret;
u32 pmnc = read_pmnc();
+ int irq_flags = SA_INTERRUPT | SA_NODELAY;
- ret = request_irq(XSCALE_PMU_IRQ, xscale_pmu_interrupt, SA_INTERRUPT,
+ ret = request_irq(XSCALE_PMU_IRQ, xscale_pmu_interrupt, irq_flags,
"XScale PMU", (void *)results);
if (ret < 0) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists