Re: [linux-audio-user] dipping toes in 2.6 waters

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-user] dipping toes in 2.6 waters
From: Fernando Pablo Lopez-Lezcano (nando_AT_ccrma.stanford.edu)
Date: Mon Aug 09 2004 - 01:05:22 EEST


On Sat, 2004-08-07 at 16:17, Lee Revell wrote:
> On Sat, 2004-08-07 at 18:50, John Check wrote:
> > On Saturday 07 August 2004 06:30 pm, Lee Revell wrote:
>
> > > I recommend disabling all hardware video acceleration when tuning a
> > > system for low latency (set Option "NoAccel" and commend out the "dri"
> > > line). This will prevent X from interacting directly with your hardware
> > > - it is complicated enough when only the kernel can access hardware.
> > > Then, once you get that working, re-enable 2D acceleration, then DRI/3D
> > > acceleration, if these do not cause problems. This will make it much
> > > easier to get the problematic video drivers fixed.
> >
> > Definitely a good strategy, but nobody is going to take a system with no
> > video acceleration seriously.
>
> Yes, of course this is not a long term solution. The point is to get
> the buggy video drivers fixed (this is open source after all), in order
> to do that we need to be able to say 'when i enable DRI with $FOO
> driver, I get xruns, and these go away when I disable it'.

Here's one case. 2.6.8rc2-mm2 + voluntary O3, lsm module, kernel config
files derived from current default FC2's, very recent alsa CVS (post
1.0.6rc2), FC2, xorg, gnome desktop, P4 laptop 1.7GHz/512M with Radeon
video chipset and Intel Corp. 82801CA/CAM AC'97 Audio Controller,
kernel_preempt=1, voluntary_preempt=3, acpi=on (sound does not work with
acpi=off), irq's left in default state[*]

With "Option NoAccel" and an idle jack in an xterm (-p128 -n2), start
glxgears, move the window around and there are no xruns (any size
window).

With acceleration enabled, start glxgears and with the default size move
the window around, no xruns. Enlarging the window (this is on a
1600x1200 screen) eventually triggers tons of xruns when the window is
moved and is "large enough".

Samples of output from jack:

**** alsa_pcm: xrun of at least 7.470 msecs
**** alsa_pcm: xrun of at least 7.401 msecs
**** alsa_pcm: xrun of at least 7.438 msecs
delay of 5728.000 usecs exceeds estimated spare time of 2644.000;
restart ...
**** alsa_pcm: xrun of at least 7.482 msecs
**** alsa_pcm: xrun of at least 7.216 msecs
**** alsa_pcm: xrun of at least 7.476 msecs

And this is on the kernel log (two samples):

ALSA
/usr/src/redhat/BUILD/alsa-driver-1.0.6rc2/alsa-kernel/core/pcm_lib.c:211: Unexpected hw_pointer value [1] (stream = 0, delta: -126, max jitter = 128): wrong interrupt acknowledge?
 [<e0ba9f0f>] snd_pcm_period_elapsed+0x2cf/0x560 [snd_pcm]
 [<c011e9f7>] __wake_up_common+0x37/0x70
 [<e0ad620d>] snd_intel8x0_interrupt+0x29d/0x360 [snd_intel8x0]
 [<c0225f30>] acpi_ev_gpe_detect+0xf7/0x103
 [<c012a9a0>] generic_handle_IRQ_event+0x30/0x60
 [<c012ab0c>] do_hardirq+0x13c/0x3a0
 [<c012b7f0>] do_irqd+0x0/0x80
 [<c012b848>] do_irqd+0x58/0x80
 [<c01420e8>] kthread+0x98/0xa0
 [<c0142050>] kthread+0x0/0xa0
 [<c010429d>] kernel_thread_helper+0x5/0x18
ALSA
/usr/src/redhat/BUILD/alsa-driver-1.0.6rc2/alsa-kernel/core/pcm_lib.c:139: XRUN: pcmC0D0c
 [<e0ba9faf>] snd_pcm_period_elapsed+0x36f/0x560 [snd_pcm]
 [<c011e9f7>] __wake_up_common+0x37/0x70
 [<e0ad620d>] snd_intel8x0_interrupt+0x29d/0x360 [snd_intel8x0]
 [<c0225f30>] acpi_ev_gpe_detect+0xf7/0x103
 [<c012a9a0>] generic_handle_IRQ_event+0x30/0x60
 [<c012ab0c>] do_hardirq+0x13c/0x3a0
 [<c012b7f0>] do_irqd+0x0/0x80
 [<c012b848>] do_irqd+0x58/0x80
 [<c01420e8>] kthread+0x98/0xa0
 [<c0142050>] kthread+0x0/0xa0
 [<c010429d>] kernel_thread_helper+0x5/0x18
ALSA
/usr/src/redhat/BUILD/alsa-driver-1.0.6rc2/alsa-kernel/core/pcm_lib.c:211: Unexpected hw_pointer value [1] (stream = 1, delta: -38, max jitter = 128): wrong interrupt acknowledge?
 [<e0ba9f0f>] snd_pcm_period_elapsed+0x2cf/0x560 [snd_pcm]
 [<c011e9f7>] __wake_up_common+0x37/0x70
 [<e0ad620d>] snd_intel8x0_interrupt+0x29d/0x360 [snd_intel8x0]
 [<c0225f30>] acpi_ev_gpe_detect+0xf7/0x103
 [<c012a9a0>] generic_handle_IRQ_event+0x30/0x60
 [<c012ab0c>] do_hardirq+0x13c/0x3a0
 [<c012b7f0>] do_irqd+0x0/0x80
 [<c012b848>] do_irqd+0x58/0x80
 [<c01420e8>] kthread+0x98/0xa0
 [<c0142050>] kthread+0x0/0xa0
 [<c010429d>] kernel_thread_helper+0x5/0x18
ALSA
/usr/src/redhat/BUILD/alsa-driver-1.0.6rc2/alsa-kernel/core/pcm_lib.c:139: XRUN: pcmC0D0p
 [<e0ba9faf>] snd_pcm_period_elapsed+0x36f/0x560 [snd_pcm]
 [<c011e9f7>] __wake_up_common+0x37/0x70
 [<e0ad620d>] snd_intel8x0_interrupt+0x29d/0x360 [snd_intel8x0]
 [<c0225f30>] acpi_ev_gpe_detect+0xf7/0x103
 [<c012a9a0>] generic_handle_IRQ_event+0x30/0x60
 [<c012ab0c>] do_hardirq+0x13c/0x3a0
 [<c012b7f0>] do_irqd+0x0/0x80
 [<c012b848>] do_irqd+0x58/0x80
 [<c01420e8>] kthread+0x98/0xa0
 [<c0142050>] kthread+0x0/0xa0
 [<c010429d>] kernel_thread_helper+0x5/0x18

Does not look very helpful...
-- Fernando

[*] almost everything shares IRQ9..... sigh...

 9: 1480257 XT-PIC acpi, uhci_hcd, uhci_hcd, uhci_hcd,
eth0, yenta, yenta, Intel 82801CA-ICH3, radeon_AT_PCI:1:0:0


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon Aug 09 2004 - 01:07:20 EEST