Skip to contentSkip to conversation

2.6.8-rc1-mm1 [and alsa xrun debugging]

linux-audio-user Lee Revell 1 participant 2 messages Jul 16, 2004 3 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Lee Revell

author
#1 lore raw
Quoted 10 lines · Florian Schmidt

after reading lee's email i had to try this kernel.. so i went over to www.de.kernel.org, grabbed 2.6.8-rc1 and patched it up with this patch:

http://www.ussg.iu.edu/hypermail/linux/kernel/0407.1/1453.html

On first sight it looks very good. many of the sporadic xruns i experienced with jack in RT mode are gone. even a "find /" parallel to a "make bzImage" seems not to provoke any xruns [i use ext3]. But: i use fluxbox and it supports desktop wheeling [switching desktop via scrollwheel - very handy] and doing this excessively and rapidly provokes xruns easily. Also starting mozilla just provoked an xrun..

Try the included patch. Andrew Morton suggested this, and it works great for me, but it is not in -mm1.

Lee

char/tty_io.c 2004-07-16 16:10:31.000000000 -0400 renamed from char/tty_io.c_orig 2004-07-16 16:10:11.000000000 -0400 +0 -4
@@ -679,17 +679,13 @@
                return -ERESTARTSYS;
        }
        if ( test_bit(TTY_NO_WRITE_SPLIT, &tty->flags) ) {
-               lock_kernel();
                written = write(tty, file, buf, count);
-               unlock_kernel();
        } else {
                for (;;) {
                        unsigned long size = max((unsigned long)PAGE_SIZE*2, 16384UL);
                        if (size > count)
                                size = count;
-                       lock_kernel();
                        ret = write(tty, file, buf, size);
-                       unlock_kernel();
                        if (ret <= 0)
                                break;
                        written += ret;

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#4 lore raw
Quoted 11 lines · Florian Schmidt
Quoted 4 lines · On Fri, 16 Jul 2004 16:54:28 +0100 David M <[email protected]> wrote:

I think you have to echo 2 > /proc/asound/card0/etc

On debian they are in /var/log/messages,var/log/syslog , and a few other places.

oh ok, that works.. i'll also enable frame pointers in the kernel. but for now, here's some of the xruns i can provoke by rapid desktop wheeling [though kernel still w/o rame pointers]:

Quoted 10 lines
Jul 16 18:47:31 mango kernel:  [<c0107761>] do_IRQ+0x91/0x130
Jul 16 18:47:31 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20
Jul 16 18:47:32 mango kernel: ALSA sound/core/pcm_lib.c:169: XRUN: pcmC0D0c
Jul 16 18:47:32 mango kernel:  [<f08c0357>] snd_pcm_period_elapsed+0x2e7/0x460 [snd_pcm]
Jul 16 18:47:32 mango kernel:  [<f0bc232e>] _nv000897rm+0x4e/0x70 [nvidia]
Jul 16 18:47:32 mango kernel:  [<f08edb8e>] snd_cs46xx_interrupt+0x1be/0x1f0 [snd_cs46xx]
Jul 16 18:47:32 mango kernel:  [<f0d28962>] nv_kern_isr+0x26/0x59 [nvidia]
Jul 16 18:47:32 mango kernel:  [<c01073fa>] handle_IRQ_event+0x3a/0x70
Jul 16 18:47:32 mango kernel:  [<c0107761>] do_IRQ+0x91/0x130
Jul 16 18:47:32 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20

Are you using the binary-only NVIDIA module? If your kernel is tainted (by having a binary-only module loaded), then you cannot get valid data.

Quoted 16 lines
Jul 16 18:49:04 mango kernel: ALSA sound/core/pcm_lib.c:169: XRUN: pcmC0D0c
Jul 16 18:49:04 mango kernel:  [<f08c0357>] snd_pcm_period_elapsed+0x2e7/0x460 [snd_pcm]
Jul 16 18:49:04 mango kernel:  [<f08edb8e>] snd_cs46xx_interrupt+0x1be/0x1f0 [snd_cs46xx]
Jul 16 18:49:04 mango kernel:  [<c0105737>] handle_signal+0xb7/0x120
Jul 16 18:49:04 mango kernel:  [<c01073fa>] handle_IRQ_event+0x3a/0x70
Jul 16 18:49:04 mango kernel:  [<c0107761>] do_IRQ+0x91/0x130
Jul 16 18:49:04 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20
Jul 16 18:49:04 mango kernel:  [<c011a2f0>] __do_softirq+0x30/0x80
Jul 16 18:49:04 mango kernel:  [<c011a366>] do_softirq+0x26/0x30
Jul 16 18:49:04 mango kernel:  [<c01077cd>] do_IRQ+0xfd/0x130
Jul 16 18:49:04 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20
Jul 16 18:49:04 mango kernel: ALSA sound/core/pcm_lib.c:169: XRUN: pcmC0D0p
Jul 16 18:49:04 mango kernel:  [<f08c0357>] snd_pcm_period_elapsed+0x2e7/0x460 [snd_pcm]
Jul 16 18:49:04 mango kernel:  [<c011e1c6>] update_process_times+0x46/0x60
Jul 16 18:49:04 mango kernel:  [<f08edb8e>] snd_cs46xx_interrupt+0x1be/0x1f0 [snd_cs46xx]
Jul 16 18:49:04 mango kernel:  [<c011e4bf>] do_timer+0xdf/0xf0
Quoted 8 lines
Jul 16 18:49:04 mango kernel:  [<c010b378>] timer_interrupt+0xb8/0x140
Jul 16 18:49:04 mango kernel:  [<c01073fa>] handle_IRQ_event+0x3a/0x70
Jul 16 18:49:04 mango kernel:  [<c0107761>] do_IRQ+0x91/0x130
Jul 16 18:49:04 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20
Jul 16 18:49:04 mango kernel:  [<c011a2f0>] __do_softirq+0x30/0x80
Jul 16 18:49:04 mango kernel:  [<c011a366>] do_softirq+0x26/0x30
Jul 16 18:49:04 mango kernel:  [<c01077cd>] do_IRQ+0xfd/0x130
Jul 16 18:49:04 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20

Takashi Iwai mentioned there were some patches available to daemonize softirq processing, and that these might help. Takashi, can you provide some details on this?

Quoted 8 lines
Jul 16 18:49:05 mango kernel: ALSA sound/core/pcm_lib.c:169: XRUN: pcmC0D0c
Jul 16 18:49:05 mango kernel:  [<f08c0357>] snd_pcm_period_elapsed+0x2e7/0x460 [snd_pcm]
Jul 16 18:49:05 mango kernel:  [<c028d579>] unix_stream_sendmsg+0x269/0x3e0
Jul 16 18:49:05 mango kernel:  [<f08edb8e>] snd_cs46xx_interrupt+0x1be/0x1f0 [snd_cs46xx]
Jul 16 18:49:05 mango kernel:  [<c01073fa>] handle_IRQ_event+0x3a/0x70
Jul 16 18:49:05 mango kernel:  [<c0107761>] do_IRQ+0x91/0x130
Jul 16 18:49:05 mango kernel:  [<c0105be4>] common_interrupt+0x18/0x20
Jul 16 18:49:05 mango kernel:  [<c0112cab>] finish_task_switch+0x2b/0x90
Quoted 8 lines
Jul 16 18:49:05 mango kernel:  [<c0290e4f>] schedule+0x2cf/0x560
Jul 16 18:49:05 mango kernel:  [<c02915e3>] schedule_timeout+0x63/0xc0
Jul 16 18:49:05 mango kernel:  [<c011e5b0>] process_timeout+0x0/0x10
Jul 16 18:49:05 mango kernel:  [<c015faaf>] do_select+0x18f/0x2d0
Jul 16 18:49:05 mango kernel:  [<c015f770>] __pollwait+0x0/0xd0
Jul 16 18:49:05 mango kernel:  [<c015fedf>] sys_select+0x2bf/0x4c0
Jul 16 18:49:05 mango kernel:  [<c014c30b>] vfs_read+0x10b/0x140
Jul 16 18:49:05 mango kernel:  [<c0105a77>] syscall_call+0x7/0xb

This one I am seeing too. I do not have a good explanation for it yet.

Lee