[Asterisk-Users] te110p and interrupts

Andrew Kohlsmith akohlsmith-asterisk at benshaw.com
Tue Apr 11 05:36:38 MST 2006


On Monday 10 April 2006 19:20, Mojo with Horan & Company, LLC wrote:
> Try booting with apic off, I think it's noapic kernel option.  Notice
> this is "APIC" and not "ACPI", which you referred to.  Then get your
> boards on different REAL irqs.

Please do not open your mouth to spout nonsense if you do not know what you're 
talking about.

APIC interrupts are far more "real" than emulated XT-PIC interrupts.  If the 
IO-APIC can put each device on its own "high" interrupt it means that that 
INT# signal on the PCI slot *is* on a totally separate, physical IRQ line 
which is routed into that APIC.  When you disable native APIC mode you force 
it into compatibility mode, where it essentially performs a logical "OR" on 
the real, separate IRQ lines and gives you a single, edge-triggered 
i8259-style "low" IRQ.

(In reality it's not a logical OR since the XT (i8259-style) interrupts are 
edge-triggered, not level triggered, but that's neither here nor there for 
this particular discussion.)

Again, if the IO-APIC is reporting that the card is on its own IRQ, it really, 
truly, honestly *IS* on its own IRQ.  The reason that it is suggested to 
disable the IO-APIC is that on many low-end systems, the IO-APIC is plain old 
broken and causing other issues.  I don't think I've run across a system 
board in the last year or two with that issue, though.  It's always been on 
older P3 and early P4 systems.

Anton, your problem is very likely simple interrupt load.  You have three 
Digium cards in there, and they're all generating their own 1000Hz interrupt.  
If you did the newbie thing and compiled your kernel with a HZ value of 
'1000' because you felt it would be better, you have that overhead as well.

Your system is very likely just having trouble coping with so many interrupts.  
My personal opinion is that you should sell the three Digium cards and buy a 
single dualspan card and a cheap channel bank.  Your interrupt load will drop 
by 2/3 and your system will be FAR happier.

So check the kernel HZ value first; I set *all* my Asterisk systems to the old 
style HZ of 100; there is simply no need for anything more on a server, 
*especially* if you've already got hardware providing a real 1000Hz interrupt 
instead of ztdummy trying to emulate such a thing.

-A.



More information about the asterisk-users mailing list