因此,我正在Dell PowerEdge R610
运行一个服务器Debian Jessie
,根据一些文档,该服务器的芯片组有故障:https://www.novell.com/support/kb/doc.php?id=7014344(Intel 5500 rev 13
)。
提供的外壳测试证实了该芯片组的存在:lspci -nn | grep -qE '8086:(340[36].*rev 13|3405.*rev (12|13|22))' && echo "Interrupt remapping is broken"
它已VT-d
在 BIOS 中禁用并已GRUB_CMDLINE_LINUX_DEFAULT="quiet intremap=off"
添加到/etc/grub/default
。
我的问题是,这是否会影响MSI-X
NIC 卡的功能(它应该在核心之间分散中断)?
在这个特定的服务器上,确实只有一个核心在处理中断,但我不确定这是否是禁用 BIOS 和内核设置的结果。或者可能是其他原因在起作用?
(不幸的是,我无法访问 BIOS 来更改设置并在启用功能的情况下进行测试)。
谢谢。
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 43 0 0 0 0 0 0 0 IO-APIC-edge timer
1: 3 0 0 0 0 0 0 0 IO-APIC-edge i8042
8: 1 0 0 0 0 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
12: 4 0 0 0 0 0 0 0 IO-APIC-edge i8042
16: 15459 0 0 0 0 0 0 0 IO-APIC-fasteoi megasas
17: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3
18: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4
19: 28 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb1
20: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb6
21: 398 0 0 0 0 0 0 0 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb5
23: 50805 0 0 0 0 0 0 0 IO-APIC-fasteoi ata_piix
72: 0 0 0 0 0 0 0 0 PCI-MSI-edge PCIe PME
73: 0 0 0 0 0 0 0 0 PCI-MSI-edge PCIe PME
74: 0 0 0 0 0 0 0 0 PCI-MSI-edge PCIe PME
75: 0 0 0 0 0 0 0 0 PCI-MSI-edge PCIe PME
76: 0 0 0 0 0 0 0 0 PCI-MSI-edge PCIe PME
95: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
96: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
97: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
98: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
99: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
100: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
101: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
102: 2 0 0 0 0 0 0 0 PCI-MSI-edge ioat-msix
103: 126464280 0 0 0 0 0 0 0 PCI-MSI-edge eth2-0
104: 92145436 0 0 0 0 0 0 0 PCI-MSI-edge eth2-1
105: 89096948 0 0 0 0 0 0 0 PCI-MSI-edge eth2-2
106: 88057555 0 0 0 0 0 0 0 PCI-MSI-edge eth2-3
107: 81812555 0 0 0 0 0 0 0 PCI-MSI-edge eth2-4
108: 89599897 0 0 0 0 0 0 0 PCI-MSI-edge eth2-5
109: 88031686 0 0 0 0 0 0 0 PCI-MSI-edge eth2-6
110: 87201395 0 0 0 0 0 0 0 PCI-MSI-edge eth2-7
112: 377125739 0 0 0 0 0 0 0 PCI-MSI-edge eth0-0
113: 72913 0 0 0 0 0 0 0 PCI-MSI-edge eth0-1
114: 1890421 0 0 0 0 0 0 0 PCI-MSI-edge eth0-2
115: 162242342 0 0 0 0 0 0 0 PCI-MSI-edge eth0-3
116: 53494 0 0 0 0 0 0 0 PCI-MSI-edge eth0-4
117: 85112 0 0 0 0 0 0 0 PCI-MSI-edge eth0-5
118: 44281 0 0 0 0 0 0 0 PCI-MSI-edge eth0-6
119: 41480 0 0 0 0 0 0 0 PCI-MSI-edge eth0-7
NMI: 39120 194 382 197 337 184 276 186 Non-maskable interrupts
LOC: 217815785 1972192 4721954 2056033 2252897 1834404 1894099 1739779 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 39120 194 382 197 337 184 276 186 Performance monitoring interrupts
IWI: 8 0 0 0 0 0 0 0 IRQ work interrupts
RTR: 7 0 0 0 0 0 0 0 APIC ICR read retries
RES: 133678 35960 21042 9616 10918 8463 8607 8143 Rescheduling interrupts
CAL: 1815 3264 1626 3885 1970 3807 1972 4000 Function call interrupts
TLB: 896 110 258 139 200 110 187 81 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 171 171 171 171 171 171 171 171 Machine check polls
HYP: 0 0 0 0 0 0 0 0 Hypervisor callback interrupts
ERR: 0
MIS: 0
网卡设置:
root@server:~# lspci -v
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
Flags: bus master, fast devsel, latency 0, IRQ 36
Memory at d6000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number 84-2b-2b-ff-fe-fe-b3-bd
Capabilities: [110] Advanced Error Reporting
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Kernel driver in use: bnx2
01:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at d8000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [a0] MSI-X: Enable- Count=9 Masked-
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number 84-2b-2b-ff-fe-fe-b3-bf
Capabilities: [110] Advanced Error Reporting
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Kernel driver in use: bnx2
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
Flags: bus master, fast devsel, latency 0, IRQ 32
Memory at da000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [a0] MSI-X: Enable+ Count=9 Masked-
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number 84-2b-2b-ff-fe-fe-b3-c1
Capabilities: [110] Advanced Error Reporting
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Kernel driver in use: bnx2
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
Subsystem: Dell PowerEdge R610 BCM5709 Gigabit Ethernet
Flags: bus master, fast devsel, latency 0, IRQ 42
Memory at dc000000 (64-bit, non-prefetchable) [size=32M]
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] MSI: Enable- Count=1/16 Maskable- 64bit+
Capabilities: [a0] MSI-X: Enable- Count=9 Masked-
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Device Serial Number 84-2b-2b-ff-fe-fe-b3-c3
Capabilities: [110] Advanced Error Reporting
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Kernel driver in use: bnx2
root@server:~# ethtool -k eth0
Features for eth0:
rx-checksumming: on
tx-checksumming: on
tx-checksum-ipv4: on
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: on
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off
tx-tcp-ecn-segmentation: off
tx-tcp6-segmentation: off
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off
generic-receive-offload: off
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-ipip-segmentation: off [fixed]
tx-sit-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-mpls-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
root@server:~# ethtool -i eth0
driver: bnx2
version: 2.2.5
firmware-version: 7.12.17 bc 7.10.0 NCSI 2.0.13
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
答案1
是的。MSI-X 需要启用中断重映射才能完全正常工作。
摘自英特尔 PDF: 英特尔® 定向 I/O 虚拟化技术 架构规范 2014 年 10 月
5.1 中断重映射
中断重映射架构使系统软件能够控制和审查所有源产生的外部中断请求,包括来自中断控制器 (I/OxAPIC)、MSI/MSI-X 功能设备(包括端点、根端口和 Root-Complex 集成端点)的请求。