[asterisk-dev] Re: Kernel modules => mainline kernel
Andrew Kohlsmith
akohlsmith-asterisk at benshaw.com
Tue Feb 13 05:02:17 MST 2007
On Tuesday 13 February 2007 3:00 am, Oron Peled wrote:
> Q: What is the interrupt rate in this situation?
> A: Assume a favorable condition: All PRI with one interrupt
> per port (with analog lines we would need many more cards).
Let's assume a realistic situation: a quad PRI card with one interrupt per 4
ports.
> Number of required cards =~ 1000 / 30 = 34 (assume we have such a PC ;-)
> Number of interrupts = 34 * 1000/sec = 34,000/sec (without counting
> the matching context switches on the transmit path).
1000 / (30 * 4) = 8.3 = 9000 interrupts/sec.
If we can use NFAS on each quad card, that gets us 8.1 cards, and if
Zaptel/libpri allows us to NFAS multiple cards (I don't see why it wouldn't),
we would have 8 cards, not 9.
I've long, long been wondering if it's possible to slave additional Zaptel
cards off of one card, but I haven't the real need for it to go about
actually implementing a test. That would certainly eliminate some of your
arguments here.
> For anyone interested, during kernel 2.2 everybody were talking about
> zero-copy. Then came the reality check. Zero copy only helped Gigabit
> ethernet and above. However, the NAPI api that enabled drivers to
> dynamically switch to polling instead of interrupt per-packet was a
> major win for many 100Mb drivers (the results were applied to kernel 2.4).
Yes, and it shot latency right to hell by saving all these interrupts. While
it might be a solution if we used the high-resolution timers in the later
kernels, I don't think it would be feasible any other way.
-A.
More information about the asterisk-dev
mailing list