On Sun, May 28, 2006 at 05:48:33PM +0200, Michael Buesch wrote:
> Oh, yes. That's really an interresting oops.
> I guess the interrupt, which is used for bcm, is used by another
> device, too. Is that right? Could you show us your /proc/interrupts
> please?
> In the "interrupt-shared" case it is indeed possible to deadlock.
> I will do an updated patch, which tries to solve this.

hmm, i don't think so. This is from my UP kernel, but iirc it's the same
for the smp one:

           CPU0       
  0:    4855137    IO-APIC-edge  timer
  1:      51628    IO-APIC-edge  i8042
  7:          3    IO-APIC-edge  parport0
  8:          0    IO-APIC-edge  rtc
  9:       9283   IO-APIC-level  acpi
 12:      23101    IO-APIC-edge  i8042
 14:      21526    IO-APIC-edge  ide0
 15:     172237    IO-APIC-edge  ide1
 16:          4   IO-APIC-level  yenta, ohci1394
 17:          1   IO-APIC-level  yenta, rtk
 18:          0   IO-APIC-level  ohci_hcd:usb1, NVidia nForce3 Modem
 19:          0   IO-APIC-level  ohci_hcd:usb2, NVidia nForce3
 20:          0   IO-APIC-level  ehci_hcd:usb3
 21:     459980   IO-APIC-level  bcm43xx
NMI:        681 
LOC:    4855420 
ERR:          1
MIS:          0

Maybe you're seeing the effect of the nmi watchdog?

afaict, the nmi oopser is used to diagnose deadlocks. and we're assuming
a deadlock is the problem here? I confess i've been too lazy to actually
read the code and the patch -- i'm just acting as a tester for now.

anyway, what you might be seeing is the effect of bcm43xx deadlocking
somehow, then several seconds later the nmi interrupt handler runs,
notices the deadlock, and triggers the oops.  Which is a "shared
interrupt" in a sense, but not the way you mean.

iow, the way i read it, the nmi stuff at the top of the call stack is
only there as an artifact of the way the nmi watchdog works.

Jason
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
http://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to