<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 14, 2014 at 2:57 AM, Łukasz Wójcik <span dir="ltr"><<a href="mailto:lukasz.wojcik@zoho.com" target="_blank">lukasz.wojcik@zoho.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I would appreciate any clues and suggestions on how to improve the latency situation.<br></blockquote><div><br></div><div>I'm unfamiliar with BSD driver development but here are a couple things I might check:</div><div>
- Ensure the interrupts are being acknowledged properly by the driver. If interrupts were left un-acknowledged, it could produce this scenario.</div><div>- 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.</div>
<div>- 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)</div><div>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Also, could anyone explain what exactly 'rxident' is ?<br></blockquote><div>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.</div>
<div><br></div></div>-- <br><div dir="ltr"><div>Russ Meyerriecks</div><div>Digium, Inc. | Linux Kernel Developer</div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div><div>direct: +1 256-428-6025</div><div>Check us out at: <a href="http://www.digium.com" target="_blank">www.digium.com</a> & <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a></div>
</div>
</div></div>