Eu decidi experimentar o Ubuntu 10.10 RC na minha estação de trabalho hoje. A instalação funcionou bem, mas o mouse e o teclado (ambos usb) são insuportavelmente lentos. Este também foi o caso quando o executei a partir do live cd.
A parte estranha é que funciona bem durante os primeiros segundos ao entrar em X. Então algo acontece em segundo plano, e o mouse de repente se comporta como se eu estivesse jogando algum jogo 3D exigente na configuração mais alta. O teclado também é lento e, se eu pressionar mais de uma tecla por segundo, a tecla será solta e apenas cerca de um quinto caractere aparecerá na tela. Ainda mais estranho é que esse atraso também está presente quando um ctrl + alt + f1 usa para alternar para o modo de console.
Se eu alternar imediatamente para o modo de console ao inicializar, tudo funcionará bem. Então, quando eu volto para o X, demora alguns segundos e depois acontece novamente.
Eu verifiquei os registros e a mensagem mais suspeita é:
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868940] irq 19: nobody cared (try booting with the "irqpoll" option)
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868946] Pid: 0, comm: swapper Not tainted 2.6.35-22-generic #33-Ubuntu
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868948] Call Trace:
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868950] <IRQ> [<ffffffff810cba5b>] __report_bad_irq+0x2b/0xa0
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868961] [<ffffffff810cbc5c>] note_interrupt+0x18c/0x1d0
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868967] [<ffffffff81085d10>] ? sched_clock_tick+0x60/0x90
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868970] [<ffffffff810cc45d>] handle_fasteoi_irq+0xdd/0x110
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868974] [<ffffffff8100cb12>] handle_irq+0x22/0x30
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868978] [<ffffffff81590b2c>] do_IRQ+0x6c/0xf0
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868981] [<ffffffff81589713>] ret_from_intr+0x0/0x11
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868983] <EOI> [<ffffffff810360fb>] ? native_safe_halt+0xb/0x10
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868990] [<ffffffff81012ecd>] default_idle+0x3d/0x90
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868995] [<ffffffff81008da3>] cpu_idle+0xb3/0x110
Oct 3 20:16:16 CHURCHILL kernel: [ 70.868999] [<ffffffff8156f6fa>] rest_init+0x8a/0x90
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869004] [<ffffffff81aedc9d>] start_kernel+0x387/0x390
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869007] [<ffffffff81aed341>] x86_64_start_reservations+0x12c/0x130
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869011] [<ffffffff81aed43f>] x86_64_start_kernel+0xfa/0x109
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869013] handlers:
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869014] [<ffffffff81404bb0>] (usb_hcd_irq+0x0/0x90)
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869019] [<ffffffff81404bb0>] (usb_hcd_irq+0x0/0x90)
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869022] [<ffffffff81404bb0>] (usb_hcd_irq+0x0/0x90)
Oct 3 20:16:16 CHURCHILL kernel: [ 70.869026] Disabling IRQ #19
Problemas relacionados ao IRQ, é do que eu posso dizer, bastante comum. No entanto, a maioria deles parece estar relacionada a interrupções compartilhadas, mas no meu computador o IRQ 19 é usado exclusivamente pelo controlador USB:
root@CHURCHILL:/home/emil# cat /proc/interrupts
CPU0
0: 26 IO-APIC-edge timer
1: 2 IO-APIC-edge i8042
7: 1 IO-APIC-edge parport0
8: 0 IO-APIC-edge rtc0
9: 1 IO-APIC-fasteoi acpi, firewire_ohci
12: 4 IO-APIC-edge i8042
14: 0 IO-APIC-edge pata_atiixp
15: 1004 IO-APIC-edge pata_atiixp
17: 154 IO-APIC-fasteoi ATI IXP
18: 6164 IO-APIC-fasteoi radeon, hda_intel
19: 2000002 IO-APIC-fasteoi ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3
20: 9097 IO-APIC-fasteoi eth0, eth1
22: 13702 IO-APIC-fasteoi sata_sil
NMI: 0 Non-maskable interrupts
LOC: 105505 Local timer interrupts
SPU: 0 Spurious interrupts
PMI: 0 Performance monitoring interrupts
PND: 0 Performance pending work
RES: 0 Rescheduling interrupts
CAL: 0 Function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
MCE: 0 Machine check exceptions
MCP: 4 Machine check polls
ERR: 1
MIS: 0
A outra pessoa que eu consegui descobrir que tinha problemas similares recorreu ao uso do irqpoll, como sugerido pela mensagem do kernel. No entanto, ele relatou que as entradas não funcionaram de forma alguma sem essa opção, o que me faz sugerir que isso pode não estar relacionado ao IRQ, afinal. Especialmente porque funciona bem por um tempo.
lspci
lista o controlador USB como ATI Technologies Inc IXP SB400 USB Host Controller
.
Qualquer sugestão seria muito apreciada.