IRQ Sharing durch Wechsel des PCI Slots umgehen

Aus Wiki Thomas-Krenn.AG
Wechseln zu: Navigation, Suche

Beim IRQ Sharing teilen sich mehrere PCI(e) Geräte einen Interrupt. In manchen Situationen ist es sinnvoll IRQ Sharing nach Möglichkeit zu umgehen. Bei VMware ESX 3.5 und 4.0 (nicht bei ESXi) kann IRQ Sharing zu Performance Problemen führen.[1] In diesem Artikel beschreiben wir wie Sie durch Wechsel des PCI Slots IRQ Sharing vermeiden.

Inhaltsverzeichnis

Testsystem

Als Testsystem verwenden wir einen Intel SR2500 Server. Dieser verfügt über zwei Riser-Cards, in denen jeweils zwei PCIe Karten gesteckt werden können.

Als Betriebssystem verwenden wir im Test CentOS 4 mit einem Virtuozzo Kernel.

IRQ Belegung vor dem Wechsel des Slots

Zu Beginn befinden sich in der Riser-Card für full-profile Karten zwei Geräte:

Beide nutzen dabei den Interrupt 20:

[root@sr2500test-node2 ~]# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
  0:      40238      39833      39838      39978    IO-APIC-edge  timer
  1:          0          0          2          0    IO-APIC-edge  i8042
  4:        240        221        231        237    IO-APIC-edge  serial
  8:          0          0          0          1    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 12:          0          2          1          0    IO-APIC-edge  i8042
 14:          6          9          9          8    IO-APIC-edge  ide0
 17:         31         25         27         31   IO-APIC-level  ehci_hcd, uhci_hcd, uhci_hcd
 18:          0          0          0          0   IO-APIC-level  uhci_hcd, uhci_hcd
 19:          0          0          0          0   IO-APIC-level  libata
 20:       1380       1337       1315       1186   IO-APIC-level  arcmsr, eth0, eth2
 21:        813        817        822        798   IO-APIC-level  eth1
NMI:        313        301        229        158 
LOC:     159444     159416     159418     159390 
ERR:          0
MIS:          0
[root@sr2500test-node2 ~]#

IRQ Belegung nach dem Wechsel des Slots

Wir entfernen nun die Netzwerkkarte aus diesem Slot, geben auf die Karte eine low-profile Slot-Blende und stecken die Netzwerkkarte nun in die zweite Riser-Karte.

Eth2 hat nun einen eigenen Interrupt (IRQ 16):

[root@sr2500test-node2 ~]# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
  0:      43442      43011      42954      43058    IO-APIC-edge  timer
  1:          0          2          0          0    IO-APIC-edge  i8042
  4:        219        218        212        204    IO-APIC-edge  serial
  8:          0          0          0          1    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 12:          0          2          1          0    IO-APIC-edge  i8042
 14:          8          7          7         10    IO-APIC-edge  ide0
 16:          1          1          0          0   IO-APIC-level  eth2
 17:         30         26         35         27   IO-APIC-level  ehci_hcd, uhci_hcd, uhci_hcd
 18:          0          0          0          0   IO-APIC-level  uhci_hcd, uhci_hcd
 19:          0          0          0          0   IO-APIC-level  libata
 20:       1239       1197       1254       1173   IO-APIC-level  arcmsr, eth0
 21:        201        213        214        204   IO-APIC-level  eth1
NMI:        313        300        230        158 
LOC:     172004     171996     171993     171995 
ERR:          0
MIS:          0
[root@sr2500test-node2 ~]# 

Einzelnachweise

  1. ESX has performance issues due to IRQ sharing (VMware Knowledge Base)

Weitere Informationen


Share/Save/Bookmark  Feedback zu diesem Artikel geben
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Kategorien
Drucken/exportieren
Werkzeuge