[asterisk-dev] Digium TE820 on BSD: bunch of missed interrupts

Russ Meyerriecks rmeyerriecks at digium.com
Wed May 14 10:36:10 CDT 2014


On Wed, May 14, 2014 at 2:57 AM, Łukasz Wójcik <lukasz.wojcik at zoho.com>wrote:
>
> I would appreciate any clues and suggestions on how to improve the latency
> situation.
>

I'm unfamiliar with BSD driver development but here are a couple things I
might check:
- Ensure the interrupts are being acknowledged properly by the driver. If
interrupts were left un-acknowledged, it could produce this scenario.
- Ensure all memory addresses are mapped properly regarding the descriptor
ring. If memory addresses were incorrectly loaded to the card for the
dring, it may cause similar issues.
- Time the irq handler to find it's running time. Linux has a tracer for
this, maybe BSD does as well. (I think this is least likely, unless some
BSD quirk is hanging up in the middle of the irq routine)

Also, could anyone explain what exactly 'rxident' is ?
>
rxident is just a counter that the driver uses to estimate how fast or slow
the card is processing the audio. This is then used to set a new latency
value during a missed interrupt event.

-- 
Russ Meyerriecks
Digium, Inc. | Linux Kernel Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
direct: +1 256-428-6025
Check us out at: www.digium.com & www.asterisk.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140514/0ffdae71/attachment.html>


More information about the asterisk-dev mailing list