我决定今天在我的工作站上试用 Ubuntu 10.10 RC。安装效果很好,但是鼠标和键盘(都是usb)太慢了。当我从 live cd 运行它时也是这种情况。
奇怪的是,它在输入 X 的前几秒钟工作正常。然后在后台发生了一些事情,鼠标突然表现得就像我在最高设置下玩一些要求苛刻的 3d 游戏。键盘也很迟钝,如果我每秒按一个以上的键,键就会被丢弃,实际上只有大约每五个字符会出现在屏幕上。更奇怪的是,当使用 ctrl+alt+f1 切换到控制台模式时,也会出现这种延迟。
如果我在启动时立即切换到控制台模式,它工作正常。然后,当我切换回 X 时,它需要几秒钟,然后再次发生。
我检查了日志,最可疑的消息是:
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
IRQ相关问题,据我所知,比较常见。但是,它们中的大多数似乎与共享中断有关,但在我的计算机上,IRQ 19 仅由 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
正如内核消息所建议的那样,我发现的另一个有类似问题的人求助于使用 irqpoll。然而,他报告说如果没有该选项,输入根本不起作用,这让我认为这可能与 IRQ 无关。特别是因为它可以正常工作一段时间。
lspci
将 USB 控制器列为ATI Technologies Inc IXP SB400 USB Host Controller
.
任何建议将不胜感激。
也许它不是内核错误,而是某些用户进程占用资源?例如,史诗般的 gnome-settings-daemon (https://bugs.launchpad.net/bugs/625793)?启动系统监视器,从菜单中打开所有进程并按 CPU 使用率排序,您可能会找到答案...