At Fri, 5 Dec 2008 06:18:04 -0800 (PST), Pete cat wrote:
Im trying to get xrun free recording from a pair of 1010LTs (ice1712) and ive resorted to setting xrun_debug to record stack traces on xruns.
Im getting xruns every few minutes (between 2 and 15 minute gaps between single xrun events) and every xrun produces identical stack traces like this:
[17127.486287] Pid: 775, comm: IRQ-3 Not tainted 2.6.24.1 #2 [17127.486309] [<c02ade37>] snd_pcm_period_elapsed+0x247/0x2f0 [17127.486325] [<c010312e>] __switch_to+0x9e/0x150 [17127.486336] [<c0128674>] finish_task_switch+0x34/0xd0 [17127.486350] [<c02c2119>] snd_ice1712_interrupt+0xa9/0x1a0 [17127.486364] [<c016ab7c>] handle_IRQ_event+0x5c/0x100 [17127.486379] [<c016b1ba>] thread_simple_irq+0x4a/0x90 [17127.486390] [<c016bb09>] do_irqd+0x229/0x290 [17127.486404] [<c016b8e0>] do_irqd+0x0/0x290 [17127.486411] [<c0141ef2>] kthread+0x42/0x70 [17127.486418] [<c0141eb0>] kthread+0x0/0x70 [17127.486425] [<c0105857>] kernel_thread_helper+0x7/0x10 [17127.486437] =======================
Running the rt kernel (Linux ubuntu-studio 2.6.24.1 #2 SMP PREEMPT RT Thu Dec 4 21:30:26 GMT 2008 i686 GNU/Linux) - although the original installation was Ubuntu studio, the kernel is recompiled. The xruns seem to be all on the same card. IRQs are set to priority of 99 with chrt. Software for record is arecord, modified to use a 10 second ring buffer which is written to disk in a separate thread.
Sorry, but this information is useless for RT kernel because the irq is all threaded... On RT kernel, you'd better to use a better analyze tool.
Takashi