Hello Russ,
2014-05-14 17:36, Russ Meyerriecks:
On Wed, May 14, 2014 at 2:57 AM, Łukasz Wójcik <lukasz.woj...@zoho.com
<mailto:lukasz.woj...@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.
Unless there's something device-specific that has to be done, everything
seems to be in order in this resort.
- 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.
Hmm that's a good point, although I would expect some panics if that
would be the case. I will certainly check that, however.
- 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)
That's what I just did. It seems that irq handling routine takes
260-280ms during span setup. My measurements indicate that the most time
is being spent in '__t4_set_timing_source_auto()' which is only called
from the interrupt handler when T4_CHECK_TIMING flag is set (which I
guess happens only during span setup ?). After all spans are configured,
interrupt handling time drops to average 1ms (min: < 1ms, max: 5ms), and
that's where the driver first wants to bump latency up and where missed
interrupt message starts to appear:
(..)
Missed interrupt. Expected ident of 97 and got ident of 111
<maaaaaaaaaaaaaany similar as above, differing with idents>
(..)
Another question I'd like to ask is:
Assuming that 'status' contains whatever device status register holds,
what does the check: (status & 0x2) mean ?
Once again, thank you for your help Russ!
Sincerely,
-ŁW
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev