[linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch

Lee Revell rlrevell at joe-job.com
Wed Jul 14 09:36:31 UTC 2004


On Wed, 2004-07-14 at 04:51, Takashi Iwai wrote:
> At Tue, 13 Jul 2004 17:45:30 -0400,
> Lee Revell wrote:
> > 
> > On Tue, 2004-07-13 at 17:29, Andrew Morton wrote:
> > > Lee Revell <rlrevell at joe-job.com> wrote:
> > > >
> > > > Would this explain these?  When running JACK with settings that need
> > > > sub-millisecond latencies, I get them when I generate any load at all on
> > > > the system (typing, switching windows, etc).  I also get lots of these
> > > > if I run JACK from an X terminal, but very few if I run it from a text
> > > > console, even if X is running in the background.
> > > > 
> > > > Jul 13 14:36:16 mindpipe kernel: ALSA /usr/src/alsa-cvs-1.0.5/alsa-driver/alsa-kernel/core/pcm_lib.c:199: Unexpected hw_pointer value [1] (stream = 0, delta: -25, max jitter = 32): wrong interrupt acknowledge?
> > > 
> > > I'm wondering what this message actually means.  "Unexpected hw_pointer
> > > value"?
> > > 
> > > Does this actually indicate an underrun, or is the debug code screwy?
> > 
> > Not sure.  Here is what Takashi had to say about it:
> > 
> > "The message appears when an unexpected DMA pointer is read in the
> > interrupt handler.  Either the handling of irq was delayed more than
> > the buffer size, an irq is issued at the wrong timing, or the DMA
> > pointer reigster is somehow screwed up.
> > 
> > Since you're using quite small buffer, I guess the former case."
> > 
> > My response:
> > 
> > "I thought this was what an XRUN was, when the handling of the irq is
> > delayed more than the buffer size.  Sometimes these messages are
> > associated with XRUNs, sometimes not."
> > 
> > Haven't heard back yet. 
> > 
> > Is it possible that I am simply pushing my hardware past its limits? 
> > Keep in mind this is a 600Mhz C3 processor.
> 
> I think yes.  32 frames / 44.1kHz = 0.725 ms.
> 

I am runnign at 48kHz so it's actually 0.666 ms.  But, the average
response is quite good, 20-30 microseconds.  The spikes are infrequent
enought that I think this is achievable.  If not then 64 frames
definitely is.

So what is the difference between the above message and an XRUN?  I
thought an XRUN occurred when the handling of the IRQ is delayed more
than the buffer size.

Lee




More information about the Linux-audio-dev mailing list