2.6.8-rc1-mm1 [and alsa xrun debugging]
A message that is not in the archive (sent off-list or not yet received): [email protected]
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]
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/etcOn 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