Re: smp and irq conflict

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lapo TIN wrote:
Dear all,
I have a problem with IRQs.

My pc has a CPU PentiumD945 (dual core) and a 2.6.19smp kernel.
I have two video acquisition board (four bt8t8 each) in the only two pci
slots of my motherboard. Thus I have a total of 8 bttv modules that are
working together, and the /proc/interrupts is as follows:
# cat /proc/interrupts
           CPU0       CPU1
  0:      13575          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  4:         11          0   IO-APIC-edge      serial
  8:          1          0   IO-APIC-edge      rtc
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 14:      22286          0   IO-APIC-edge      ide0
 17:       7073       2097   IO-APIC-fasteoi   uhci_hcd:usb5, eth0
 18:       2525          0   IO-APIC-fasteoi   bttv0, bttv7
 19:       2829          0   IO-APIC-fasteoi   bttv1, bttv4
 20:       2526          0   IO-APIC-fasteoi   bttv2, bttv5
 21:       2226          0   IO-APIC-fasteoi   bttv3, bttv6
 22:          2          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb4
 23:         86          0   IO-APIC-fasteoi   uhci_hcd:usb2
 24:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
NMI:          0          0
LOC:      13484      13502
ERR:          0
MIS:          0
You can see that IRQ18 is shared between bttv0 and bttv7, IRQ19 between
bttv1 and bttv4 and so on.

Sometimes it crashes. It seems a matter of conflict in IRQ.
With only one video board everything is ok, but with two, they shared irq
and something goes wrong... How can I tell to the kernel to not to share the IRQ for these boards ?
I think (I don't know if I'm right) that this could be the problem.

I even tried with another motherboard, and doing cat /proc/interrupts the
situation was the same, except for 'eth0' that was together with bttv0 and
bttv7... so it was even worst ! it crashes after few minutes.

I tried to read IO-APIC.txt in Documentation/i386/ folder, but I didn't
understand how to avoid the coupling of IRQ.

You may be able to move one board to another slot, but looking at the bandwidth I suspect you may need a server motherboard with multiple busses, preferably running at 66MHz 64bit. I don't think this is a interrupt problem, but you can just try capture on two channels which share an interrupt, like bttv0 and bttv7 to verify that.

I think you are just running out of bus.

--
bill davidsen <[email protected]>
 CTO TMR Associates, Inc
 Doing interesting things with small computers since 1979

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux