Wow, 1000 IRQs a second. I'm quite amazed. Does anybody know which applications would require such a low latency ? It does seem to me that this way of doing things is rather dangerous and prone to problems. Anybody can comment ?

Thanks
Bruno

Nicolas Bougues wrote:

On Fri, Mar 12, 2004 at 08:41:36AM -0500, Walt Reed wrote:


The voice cards generate an order of magnitude more interrupts than
anything else. This "may" be why it's not recommended to share
interrupts on voice cards. Don't know if the T1 cards have a similar
issue. I would hope not. The x100p's are a pretty simplistic device.
They probably generate an interrupt for every byte. The x100p's are also
used for timing in things like MOH and MM conferences AFAIK. It seems
like it would be nice to only put one card in "timer mode" if that is
indeed what is generating all those interrupts. Could someone "in the
know" enlighten us?




Digium boards usually generate 1000 interrupts/sec. This is mostly a "timer" interrupt, so that the driver can poll the board for 8 bytes per channel 1000 times per second. The polling is either slave (PIO), or busmaster (DMA).

Each board generates 1000 interrupts/second, no matter the kind/number
of ports on the boards. The driver knows if that's a single channel
board, with 8 bytes to fetch, or quad E1, with 128*8 bytes to get on
each interrupt.

There are quite strict timing requirements : if one interrupt is lost,
1/1000th of sound on the line(s) is lost, which can be quite bad for
things like HDLC (on T1/E1) or modem sound (no matter the kind of
channel).

Sharing an IRQ may introduce some latency, because the IRQ has to be
handled by several drivers, and if each of them does not behave
properly, frames can be late/lost.




_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to