Interrupt-verwaltung – Dell Broadcom NetXtreme Family of Adapters Benutzerhandbuch

Seite 47

Advertising
background image

Solaris-Treibersoftware: Broadcom NetXtreme-II®Netzwerkadapter Benutzerhandbuch

file:///C|/Users/Nalina_N_S/Documents/NetXtremeII/German/solaris.htm[9/5/2014 3:49:02 PM]

Die standardmäßige Anzahl von RX/TX-Pufferdeskriptoren beträgt jeweils 2048. Wenn der Broadcom BCM57711-
Netzwerkadapter im Mehrfunktionsmodus verwendet wird, wird die Anzahl der konfigurierten Deskriptoren durch vier geteilt
und beträgt somit 512. Dadurch soll die Anzahl der DMA-Zuweisungen möglichst gering gehalten werden. Es wird empfohlen,
diese Deskriptorenanzahl nach der Installation zu erhöhen, bis Stabilität gewährleistet ist und die gewünschte Leistung erzielt
wird.

Beispiel: Wenn Sie die Standardeinstellung von 2048 für die Anzahl der RX- und TX-Deskriptoren verwenden, beträgt die
Menge des Speicherplatzes, die eine einzelne Schnittstelle beanspruchen würde:

Einzelfunktionsmodus:

RX: 2048 DMA-Handles und 5 M (MTU=1500) oder 21 M (MTU=9216) Speicher
TX: 20480 DMA-Handles und 5 M (MTU=1500) oder 21 M (MTU=9216) Speicher
Gesamt: 22528 DMA-Handles und 10 M (MTU=1500) oder 42 M (MTU=9216) Speicher

Mehrfunktionsmodus (#descs / 4)

RX: 512 DMA-Handles und 1 M (MTU=1500) oder 5 M (MTU=9216) Speicher
TX: 5120 DMA-Handles und 1 M (MTU=1500) oder 5 M (MTU=9216) Speicher
Gesamt: 5335 DMA-Handles und 2 M (MTU=1500) oder 10 M (MTU=9216) Speicher

Interrupt-Verwaltung

Bei einem System mit einer Vielzahl von Schnittstellen ist es möglich, dass der Zuweisungsgrenzwert von MSIX-Interrupts
erreicht wird. Solaris beschränkt standardmäßig für jeden Treiber die Anzahl der MSIX-Zuweisungen auf 2. Zudem besteht ein
Problem mit dem pcplusmp-Modul, bei dem lediglich maximal 31 MSIX-Interrupts pro Interrupt-Prioritätsebene verfügbar
sind.

Wenn Ihr System über vier Broadcom BCM57711-Netzwerkadapterports verfügt, die alle im Mehrfunktionsmodus ausgeführt
werden, werden von Solaris 16 bnxe-Schnittstellen gezählt. Bei der letzten angeschlossenen Schnittstelle schlägt die
Zuweisung des zweiten MSIX-Interrupts fehl, und die Schnittstelle kehrt zu "Fixed" zurück. Dadurch kann sich wiederum im
System ein Problem bei der Interrupt-Verwaltung zeigen, das dazu führt, dass Interrupts an der Schnittstelle, die zu "Fixed"
zurückgekehrt ist, niemals empfangen werden.

Um dieses Problem zu umgehen und sicherzustellen, dass alle Schnittstellen ihre zwei MSIX-Interrupts zuweisen können,
müssen die Prioritätsebenen bestimmter Schnittstellen geändert werden. Netzwerktreibern wird automatisch die Interrupt-
Prioritätsebene 6 zugewiesen. Deshalb wird die Prioritätsebene einer Schnittstelle üblicherweise auf 5 geändert.

1. Lesen Sie zunächst die driver.conf-Man-Page, um entsprechende Hintergrundinformationen zu erhalten.
2. Ermitteln Sie die Pfade der auf Ihrem System installierten Treiberinstanzen.

% grep bnxe /etc/path_to_inst
"/pci@0,0/pci8086,2779@1/pci14e4,1650@0" 0 "bnxe"
"/pci@0,0/pci8086,2779@1/pci14e4,1650@0,1" 1 "bnxe"

3. In der Regel stellt der letzte Teil des Pfads den Treibernamen dar, aber Sie sollten die am besten geeignete PCI-ID

verwenden, die sich in /etc/driver_aliases findet. Je nach Hardwareschichtung gibt es Fälle, in denen der in
"path_to_inst" identifizierte Name nicht funktioniert. Um zu ermitteln, welchen Namen Sie verwenden müssen, prüfen
Sie die Ausgabe von prtconf -v, und gleichen Sie diese mit den IDs ab, die in der Datei "driver_aliases" angegeben
sind.
% grep bnxe /etc/driver_aliases
bnxe "pci14e4,164e"
bnxe "pci14e4,164f"
bnxe "pci14e4,1650"
bnxe "pciex14e4,164e"
bnxe "pciex14e4,164f"
bnxe "pciex14e4,1650"

4. Das übergeordnete Element des Treibers ist der gesamte Pfad, der zum Namen führt.
5. Die Adresse der Einheit befindet sich nach dem letzten @ im Pfad.
6. Ändern Sie deshalb für beide bnxe-Schnittstellen aus "path_to_inst" die Interrupt-Prioritätsebene auf 5, und verwenden

Sie für bnxe.conf folgende Konfigurationszeilen:
name = "pciex14e4,1650" parent = "/pci@0,0/pci8086,2779@1" unit-address = "0" interrupt-priorities =
5;
name = "pciex14e4,1650" parent = "/pci@0,0/pci8086,2779@1" unit-address = "0,1" interrupt-priorities
= 5;

7. Nachdem Sie die Konfiguration geändert haben, booten Sie entweder das System neu, oder schließen Sie alle

Schnittstellen und führen den Befehl "update_drv" aus.

8. Wenn das System neu konfiguriert ist und die Schnittstellen wieder geöffnet wurden, prüfen Sie die neuen Interrupt-

Advertising