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

Lee Revell
2004-07-14T09:36:56Z

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@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