[lkml]   [2006]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
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 <>

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
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2006-09-08 21:27    [W:0.032 / U:17.724 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site