From: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
To: Andres Salomon <dilinger@queued.net>,
Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org, linux-geode@lists.infradead.org
Subject: [PATCH] cs5535-clockevt: allow the MFGPT IRQ to be shared
Date: Thu, 22 Dec 2011 17:35:50 +0100 [thread overview]
Message-ID: <4EF35C66.6010402@LiPPERTEmbedded.de> (raw)
In-Reply-To: <20111214104724.292b02d4@queued.net>
cs5535-clockevt: allow the MFGPT IRQ to be shared
Shared timer IRQs are not a good solution, however the Geode platform has no
APIC, IRQs are a scarce resource and there is no technical reason to forbid it
rightaway. Increased latencies and overhead due to sharing are still better
than a driver refusing to load.
Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
---
Hi,
I tested this a bit longer, this time with MFGPT IRQ actually being triggered,
with cs5535-clockevt driver loaded first or second when sharing the IRQ, with
some CPU load or without.
I didn't encounter any negative effects of this change. I did have suspend
problems with cs5535-clockevt, but that was in no way different from before I
applied this patch, it's an unrelated BIOS issue.
Thomas Gleixner wrote:
> No, you can share a timer irq. The other drivers don't have the SHARED
> flag set because they are on exclusive irq lines, ...
Is this an ACK?
> shared irqs suck and you figure that out once you try to
> use that shared timer irq on a preempt-rt enabled kernel.
Or a NACK? :-| (I did address this in the commit log.)
The kernel I tested with was 3.2-rc6, CONFIG_SMP=y and CONFIG_PREEMPT=y. As I
said, I didn't notice anything bad happening.
Thanks and have a nice christmas holiday,
Jens
--- linux-3.2-rc6/drivers/clocksource/cs5535-clockevt.c
+++ allow_shared_mfgpt_irq/drivers/clocksource/cs5535-clockevt.c
@@ -133,7 +133,7 @@ static irqreturn_t mfgpt_tick(int irq, v
static struct irqaction mfgptirq = {
.handler = mfgpt_tick,
- .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER,
+ .flags = IRQF_DISABLED | IRQF_NOBALANCING | IRQF_TIMER | IRQF_SHARED,
.name = DRV_NAME,
};
_
next prev parent reply other threads:[~2011-12-22 16:35 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-12 15:41 IRQF_TIMER | IRQF_SHARED ? Jens Rottmann
2011-12-12 20:31 ` Andres Salomon
2011-12-12 21:00 ` Martin-Éric Racine
2011-12-12 22:06 ` Andres Salomon
2011-12-12 23:38 ` Thomas Gleixner
2011-12-13 15:49 ` Jens Rottmann
2011-12-14 18:37 ` Jens Rottmann
2011-12-14 18:47 ` Andres Salomon
2011-12-21 15:42 ` [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-01-11 10:10 ` Andres Salomon
2012-01-19 12:57 ` Jens Rottmann
2012-01-23 10:44 ` Andres Salomon
2011-12-21 16:37 ` IRQF_TIMER | IRQF_SHARED ? Jens Rottmann
2011-12-22 16:35 ` Jens Rottmann [this message]
2012-01-11 10:15 ` [PATCH] cs5535-clockevt: allow the MFGPT IRQ to be shared Andres Salomon
2012-01-30 13:51 ` [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-01-30 13:59 ` [PATCH] cs5535-clockevt: allow the MFGPT IRQ to be shared Jens Rottmann
2012-02-06 8:20 ` [PATCH resend] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels Jens Rottmann
2012-02-06 8:23 ` [PATCH resend] cs5535-clockevt: allow the MFGPT IRQ to be shared Jens Rottmann
2011-12-19 14:32 ` "clockevents: Set noop handler in clockevents_exchange_device()" causes hang with cs5535-clockevt Jens Rottmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EF35C66.6010402@LiPPERTEmbedded.de \
--to=jrottmann@lippertembedded.de \
--cc=dilinger@queued.net \
--cc=linux-geode@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.