At Sat, 03 May 2008 21:12:02 +0200, Pavel Hofman wrote: > > > > Takashi Iwai wrote: > > At Wed, 30 Apr 2008 22:07:42 +0200, > > Pavel Hofman wrote: > >> Takashi Iwai wrote: > >>> At Fri, 25 Apr 2008 09:06:19 +0200, > >>> Pavel Hofman wrote: > >> The code works fine on standard kernel. > >> > >> But in the RT kernel of Ubuntu 7.10 (2.6.22-14-rt, 1000HZ compared to > >> 250HZ of the -generic kernel), MIDI interrupts get thrown continuously, > >> hogging CPU with the IRQXX "process". > >> > >> When playing 44.1kHz audio with buffer size of 32768, > >> snd_vt1724_interrupt is called every 185ms. With the buffer size of > >> 4096, it is every 23ms. So far so good. > >> > >> But when I try to output some midi, the routine gets called every 24us > >> (i.e. 1000 times faster). Comparing the time difference between my > >> several debug printk's in snd_vt1724_interrupt (approx. 5us between each > >> printk record a few lines of code apart) and between each call of the > >> method (24us), I thought there would be a loop somewhere in the > >> interrupt handler calling code. But /proc/interrupts really shows over > >> 40k interrupts a second for ICE1724. > >> > >> Changing the watermarks up to 0x1f makes no difference. > > > > That looks bad. > > > >> Masking the MIDI interrupts works, snd_vt1724_interrupt is called only > >> during VT1724_IRQ_MTPCM interrupts, with the MIDI status bits > >> MPU_TX/MPU_RX set when reading/writing with amidi. > > > > Hm, is it TX or RX, or in both cases? > > Could you check which one (TX or RX) causes this? > > > > Both reading (amidi -p hw:0 -d) and writing (amidi -p hw:0 -S > F0411042110C000000000074FF0411042110C000000) starts the TX interrupt > flood (irq status: 0x20) immediately. Upon opening input as well as > output the method snd_mpu401_do_reset is called - is perhaps the culprit > somewhere there? Possibly. It write 0x00 to data at the beginning in snd_mpu401_uart_cmd(). What happens if you remove it? Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel