Re: IRQ "nobody cared...Disabling" errors on linux-3.0.10-rt27 on SMP AMD64 system
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Thu, 2011-11-24 at 12:12 +1300, Chris Edwards wrote:
> On 24/11/11 02:52, Steven Rostedt wrote:
> > On Thu, 2011-11-24 at 01:39 +1300, Chris Edwards wrote:
> >> Hi all,
> >>
> >> Problem:
> >> IRQ-related "nobody cared" kernel call traces not long after bootup on
> >> Linux 3.0.10-rt27. I thought I'd try a -rt kernel to see if it would
> >> resolve the audio drop-outs on my new Firewire audio interface.
> > I wonder if this is another bad irq chipset. Does it go away if you boot
> > with noapic in the kernel command line?
> >
>
> Thanks for the quick reply, Steven. Booting with "noapic" does seem to
> avoid the problem with IRQs 17 and 18, and the Firewire audio now works,
> but the "nobody cared" error now appears for IRQ 7:
A couple of things:
Could you also try mainline, with "threadirqs" on the command line and
see if it gives you the same issue. It should also tell you if it is a
chipset problem or not. Try v3.0, and then v3.2.
Could you also apply the below patch to 3.0-rt. Thomas pointed me to the
following commits. The patch below is a back port of them.
commit 52553ddff
commit c75d720f
Oh, and remove the noapic from the command line when you do all of this.
Thanks,
-- Steve
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index e57f1b3..d09e0f5 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -84,7 +84,9 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force)
*/
action = desc->action;
if (!action || !(action->flags & IRQF_SHARED) ||
- (action->flags & __IRQF_TIMER) || !action->next)
+ (action->flags & __IRQF_TIMER) ||
+ (action->handler(irq, action->dev_id) == IRQ_HANDLED) ||
+ !action->next)
goto out;
/* Already running on another processor */
@@ -115,7 +117,7 @@ static int misrouted_irq(int irq)
struct irq_desc *desc;
int i, ok = 0;
- if (atomic_inc_return(&irq_poll_active) == 1)
+ if (atomic_inc_return(&irq_poll_active) != 1)
goto out;
irq_poll_cpu = smp_processor_id();
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[RT Stable]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photo]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]