- 论坛徽章:
- 0
|
本帖最后由 neyshule 于 2011-10-09 05:23 编辑
这是/proc/interrupt的内容,我知道诸如网卡eth1这样的中断我可以把他从CPU1上完全挪到CPU0上,这样CPU0就全部处理网卡中断,但是不知道诸如Local timer interrupts, Rescheduling interrupts这类的中断可不可以也挪到CPU0去,如果不能,有什么方法能消除这些中断带给CPU1的消耗???
另外请问有没有必要调节IO-APIC的逻辑和物理模式让一个核完全绑定中断??
CPU0 CPU1
0: 455 1 IO-APIC-edge timer
1: 1 1 IO-APIC-edge i8042
4: 0 1 IO-APIC-edge
7: 0 0 IO-APIC-edge parport0
8: 0 0 IO-APIC-edge rtc0
9: 0 1 IO-APIC-fasteoi acpi
12: 2 2 IO-APIC-edge i8042
14: 5674 5360 IO-APIC-edge libata
15: 0 0 IO-APIC-edge libata
16: 128 124 IO-APIC-fasteoi uhci_hcd:usb1, HDA Intel, i915@pci:0000:00:02.0
17: 1284 1220 IO-APIC-fasteoi uhci_hcd:usb2, uhci_hcd:usb4
19: 2 1 IO-APIC-fasteoi uhci_hcd:usb3, ehci_hcd:usb7
20: 5 1 IO-APIC-fasteoi uhci_hcd:usb5, libata, eth14
21: 0 0 IO-APIC-fasteoi ehci_hcd:usb6
221: 1779391 1779531 PCI-MSI-edge eth1
NMI: 0 0 Non-maskable interrupts
LOC: 1205928 1205778 Local timer interrupts
RES: 1376 1156 Rescheduling interrupts
CAL: 144 70 function call interrupts
TLB: 386 371 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 0
MIS: 0
我在用户态有个程序不停调用nanosleep,早成了大量的Local timer interrupts,性能很差,不知道如何应对。 |
|