Takashi, it would be really, really useful if we could modify the ALSA drivers to identify at interrupt time when an underrun has occurred and to drop a stack dump at that point. Would that be possible? Something like: foo_interrupt() { ... if (there is no audio left to play) { if (sysctl_debug_audio_underruns) { printk("audio underrun!\n"); dump_stack(); } } ... } The backtrace will tell us what the kernel was doing when it should have been context switching instead. People can set the sysctl and send angry emails to kernel developers. Is this possible?