Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH -rt] use SA_NODELAY for XScale PMU interrupts

23 views
Skip to first unread message

Kevin Hilman

unread,
Sep 8, 2006, 3:23:16 PM9/8/06
to Ingo Molnar, Thomas Gleixner
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 <khi...@mvista.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 majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Kevin Hilman

unread,
Sep 8, 2006, 3:47:11 PM9/8/06
to Ingo Molnar, Thomas Gleixner
Kevin Hilman wrote:
> 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 <khi...@mvista.com>

Resend, without the #define DEBUG.

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

@@ -20,6 +20,8 @@

Arjan van de Ven

unread,
Sep 8, 2006, 5:28:45 PM9/8/06
to Kevin Hilman
On Fri, 2006-09-08 at 12:22 -0700, Kevin Hilman wrote:
> 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


hmm I thought the SA_ flags were deprecated ???

Kevin Hilman

unread,
Sep 8, 2006, 6:49:07 PM9/8/06
to Arjan van de Ven
Arjan van de Ven wrote:
> On Fri, 2006-09-08 at 12:22 -0700, Kevin Hilman wrote:
>> 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
>
> hmm I thought the SA_ flags were deprecated ???
>

Sorry, although I said 2.6.18-rt8, the patch is against 2.6.17-rt8,
where the SA_ flags are still used.

Kevin

0 new messages