[Asterisk-Users] more then two wildcards in one machine

Kristian Kielhofner kris at krisk.org
Wed Dec 8 16:49:35 MST 2004


Matthew Boehm wrote:
> The problem (from what I know) deals with IRQ interrupts. Each digium card
> must have a seperate IRQ and must be the only card on that IRQ. I ran into a
> problem plugging in just 1 digium card into each and every PCI slot on our
> Dell server and it was still sharing an IRQ with the ethernet card. It wasnt
> until I dissabled the usb, parallel port, serial port #2 and the mouse that
> it finally got its own irq.
> 
> Mac's don't have IRQs. This is probably why it was so easy getting 4 cards
> into his mac.
> 
> -Matthew


Matthew (and everyone else),

http://www.microsoft.com/whdc/system/sysperf/apic.mspx

	The problem is interrupts, not PCI slots.  As this article explains, 
sharing interrupts adds a signifigant amount of latency to the 
interrupt, causing audio droupouts and other weird stuff to happen.  It 
is nothing specific to Digium hardware or Linux or anything like that. 
On a desktop running Windows (or any other OS) with a lot of devices try 
to play back an MP3 and generate network, disk, and other I/O activity 
on a machine without APIC - the audio WILL skip.  Now imagine you are 
trying to drive 96+ T1 channels, ethernet boards and who know hom much 
else.  You can see where there might be a problem.

	Apple Mac's have interrupts.  They just have a lot of them.  A modern 
Mac is very similar when compared to a modern x86 with an APIC.  Read more.

	This is being mitigated on the x86 arhitecture by the APIC - Advanced 
Processor Interrupt Controller.  You can have more than one APIC in a 
machine, and each APIC has 24 IRQs.  Most new motherboards have at least 
one APIC/processor.

Dell PowerEdge 2850 (dual Xeon):

------------------------------------------------------------------
ast1 etc # uname -a
Linux ast1 2.6.9-pe2850a #2 SMP Fri Dec 3 09:23:03 CST 2004 i686 
Intel(R) Xeon(TM) CPU 3.00GHz GenuineIntel GNU/Linux
ast1 etc # cat /proc/interrupts
            CPU0       CPU1
   0:    6184515         72    IO-APIC-edge  timer
   1:          8          1    IO-APIC-edge  i8042
   9:          0          0   IO-APIC-level  acpi
  12:         65          1    IO-APIC-edge  i8042
  14:         11          2    IO-APIC-edge  ide0
  46:      19595          1   IO-APIC-level  megaraid
  64:      66366          1   IO-APIC-level  eth0
  65:      77045          1   IO-APIC-level  eth1
101:    6113521          1   IO-APIC-level  wctdm
NMI:          1          0
LOC:    6184694    6184698
ERR:          0
MIS:          0
ast1 etc #
-------------------------------------------------------------------------
Apple Macintosh G4:

--------------------------------------------------------------------------
[root at localhost root]# uname -a
Linux localhost.localdomain 2.6.8-1.ydl.7 #1 Wed Sep 22 18:46:40 EDT 
2004 ppc ppc ppc GNU/Linux
[root at localhost root]# cat /proc/interrupts
            CPU0
  19:       4540   OpenPIC   Level     ide0
  20:         12   OpenPIC   Level     ide1
  25:        318   OpenPIC   Level     VIA-PMU
  26:          0   OpenPIC   Level     keywest i2c
  27:         35   OpenPIC   Level     ohci_hcd
  28:         97   OpenPIC   Level     ohci_hcd
  41:       1248   OpenPIC   Level     eth0
  42:          0   OpenPIC   Level     keywest i2c
  47:          0   OpenPIC   Level     GPIO1/ADB
  54:   19036943   OpenPIC   Level     wctdm
  55:          0   OpenPIC   Edge      NMI - XMON
  63:          3   OpenPIC   Level     ohci1394
BAD:          0
[root at localhost root]#
-------------------------------------------------------------------------------

As you can see, on the Dell, the wctdm board has IRQ 101.  Waaaaayyyyy 
past good ol' 15.  On the Mac, it is at 54.  Still way beyond the 
standard x86 15 limit.

Now, if you are using an OS that can't do APIC on x86, or have a 
motherboard that has a mal-functioning APIC, you are out of luck and 
have to try to get them all to play nice.  I hope that this clears 
things up some.

--
Kristian Kielhofner



More information about the asterisk-users mailing list