From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: "Unexpected hw_pointer value - wrong interrupt acknowledge?" with emu10k1 Date: Tue, 13 Jul 2004 18:26:27 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: References: <1089679085.10777.83.camel@mindpipe> Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: <1089679085.10777.83.camel@mindpipe> Errors-To: alsa-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Lee Revell Cc: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org At Mon, 12 Jul 2004 20:38:05 -0400, Lee Revell wrote: > > > On Sun, 2004-07-11 at 01:25, Andrew Morton wrote: > > > What we need to do is to encourage audio testers to use ALSA drivers, to > > > enable CONFIG_SND_DEBUG in the kernel build and to set > > > /proc/asound/*/*/xrun_debug and to send us the traces which result from > > > underruns. > > > > > > > OK, here goes. The following traces result from running JACK overnight > > like so, on an otherwise idle system. Hardware is a VIA EPIA 6000, with > > a 600Mhz C3 processor. Kernel is 2.6.7 + volunatary_preempt patch. > > voluntary_preempt and kernel_preemption are both on. > > > > jackd -v --realtime -d alsa --outchannels 2 --rate 48000 --shorts > > --playback --period 32 --nperiods 2 > > > > These settings require less than 666 microseconds scheduler latency. > > The average performance is quite good - 5-20 *microseconds*! > > > > While running the above test, I also noticed these messages from the > ALSA driver. These messages did not occur during the overnight test; > they began when I sat down at the console to check the results. > > Jul 12 17:31:43 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: -16, max jitter = 32): wrong interrupt acknowledge? 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. Takashi ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com