[nas] nasd outputs only part of a sample, client stalls -- exceptunder strace

Jon Trulson jon at radscan.com
Sat Oct 13 19:16:59 MDT 2007


On Mon, 8 Oct 2007, Erik Auerswald wrote:

> Hi,
>
[...]
>>   Erik, I just wanted to let you know I have't forgotten about this
>>   issue.  There's just been alot going on around here.
>
> I don´t have much time either, the machine in question has been
> downgraded to a 2.6.20 kernel which doesn´t show these problems.
>
>>   I think we only use these when waiting for the device to be
>>   available when ReleaseDevice is enabled...
>
> AFAICT you are right.
>
> Erik
>

   Hi,

   I was able to load a 2.6.22.6 kernel on a laptop using a Pentium-M
   (Centrino) processor at 1.7Ghz.  I had the dynticks/tickless stuff
   enabled (though I tried disabled as well w/o effect).

   Unfortunately I was not able to duplicate the problem with current
   svn nas (r264).  I did not try virgin 1.9 nas.

   However, I was able to almost-duplicate it by removing the
   enable/disableIntervalProc calls in intervalProc - the server would
   hang after playing a couple of seconds of audio.  In reality I don't
   think we should be calling those in intervalProc anyway, as then we
   provide an excellent opportunity to lose signals.

   So...

   Attached is a patch to current svn (r264) that removes these calls
   from intervalProc and replaces them with SetTimer() calls.  This
   will eliminate the timer interrupts (without disabling the handler)
   while intervalProc is running; then schedule at least one more
   interrupt before returning, by resetting the timer to the current
   sample rate, so the spice can continue to flow :)

   This should ensure that there is no possibility that we will miss a
   signal.  In theory.  :)

   It does work fine here on 2.6.22.6 now, as well as on a 2.4.33 kernel on
   another machine.  Perhaps it will work for you guys as well?

   It's not committed yet, so let me know if it changes anything for
   better or worse.

-- 
Happy cheese in fear                 | Jon Trulson
against oppressor, rebel!            | mailto:jon at radscan.com 
Brocolli, hostage.       -Unknown    | #include <std/disclaimer.h>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: auvoxware-interval-proc-settimer.patch
Type: text/x-diff
Size: 2018 bytes
Desc: 
URL: <http://radscan.com/pipermail/nas/attachments/20071013/34611625/attachment.patch>


More information about the Nas mailing list