-
Fachgebiet der Erfindung
-
Die vorliegende Erfindung betrifft allgemein das Gebiet der Datenverarbeitung und bezieht sich insbesondere auf ein Verfahren, System und Computerprogrammprodukt zum Realisieren einer erweiterten Fehlerbehandlung (enhanced error handling, EEH) für einen Hardware-E/A-Adapter wie beispielsweise einen Adapter für Eingabe/Ausgabe-Virtualisierung mit Einzelstamm (Single Root Input/Output Virtualization (SRIOV) adapter) in einem virtualisierten System.
-
Beschreibung verwandter Technik
-
Bei Eingabe/Ausgabe-Virtualisierung mit Einzelstamm (E/A-Virtualisierung mit Einzelstamm, SRIOV) handelt es sich um einen PCI-Standard, der einen Adaptertechnologie-Baustein für E/A-Virtualisierung in der PCI-Express-Branche (PCIe-Branche) darstellt. Die SRIOV-Fähigkeit ist ein Merkmal zahlreicher neuer PCIe-Adapter für Fibre Channel, Ethernet, Infiniband und konvergente Netzwerkadapter (converged network adapters (CNA)).
-
Der SRIOV-Adapter verfügt über eine E/A-Adapter-Virtualisierungsarchitektur, die ermöglicht, dass ein einziger E/A-Adapter gleichzeitig über zahlreiche verschiedene logische Partitionen hinweg gemeinsam genutzt werden kann. Die gemeinsame Nutzung erfolgt auf einer physischen Ebene, sodass jede logische Partition Zugriff auf einen Anteil des physischen Adapters hat. Die gemeinsame Nutzung wird mithilfe eines Partitionierens des Adapters in zahlreiche unterschiedliche PCI-Funktionen und anschließendes Verteilen eines Zugangs zu diesen Funktionen erreicht. Der Adapter wird als eine oder mehrere physische Funktionen (PFs) präsentiert, die Funktionen steuern, die beispielsweise sowohl für Konfiguration als auch E/A verwendet werden, und als eine Reihe virtueller Funktionen (VFs), die für E/A und in begrenztem Umfang für Konfiguration verwendet werden, wobei jede VF einen Anteil der Adapterkapazität repräsentiert, der unabhängig von anderen VFs einer logischen Partition zugewiesen werden kann. Jede logische Partition verfügt über einen Einheitentreiber für jede der logischen Partition zugewiesene VF.
-
Bei einem gemeinsam genutzten Hardware-E/A-Adapter wie zum Beispiel dem SRIOV-Adapter ist es derzeit erforderlich, dass eine Fehlerbehebung bei dem gemeinsam genutzten Adapter zwischen zahlreichen Partitionen koordiniert wird. Bei früheren Lösungen war nur eine Koordination innerhalb einer einzigen Partition erforderlich, daher wird eine neue Lösung benötigt.
-
Es besteht ein Bedarf an einem wirkungsvollen Mechanismus zum Ermöglichen einer erweiterten Fehlerbehandlung (EEH) für einen gemeinsam genutzten Hardware-E/A-Adapter bzw. einen SRIOV-Adapter in einem virtualisierten System. Es ist wünschenswert, dass ein derartiger Mechanismus wirkungsvolle und effiziente Fehlerbehandlungsoperationen ermöglicht, um mehrere Partitionen abzudecken.
-
Kurzdarstellung der Erfindung
-
Hauptaspekte der vorliegenden Erfindung sollen ein Verfahren, System und Computerprogrammprodukt zum Realisieren einer erweiterten Fehlerbehandlung (EEH) für einen Hardware-E/A-Adapter wie beispielsweise einen SRIOV-Adapter in einem virtualisierten System bereitstellen. Durch andere wichtige Aspekte der vorliegenden Erfindung sollen ein solches Verfahren, ein solches System und ein solches Computerprogrammprodukt im Wesentlichen ohne negative Auswirkungen und derart bereitgestellt werden, dass viele der Nachteile von Anordnungen nach dem Stand der Technik überwunden werden.
-
Kurz zusammengefasst: Es werden ein Verfahren, System und Computerprogrammprodukt zum Realisieren einer verbesserten Fehlerbehandlung für einen Hardware-E/A-Adapter wie beispielsweise einen SRIOV-Adapter in einem virtualisierten System bereitgestellt. Der Hardware-E/A-Adapter ist in mehrere Endpunkte partitioniert, wobei jeder partitionierbare Endpunkt (PE) einer Funktion entspricht und dem gesamten Adapter ein Adapter-PE zugeordnet ist. Die Endpunkte werden sowohl unabhängig verwaltet, und zwar bei Aktionen, deren Bereich auf eine einzige Funktion beschränkt ist, als auch als eine Gruppe bei Aktionen im Bereich des gesamten Adapters. Ein Fehler oder ein Versagen des Adapter-PE blockiert den Adapter-PE und wird an die dem Adapter zugeordneten VF-PEs weitergegeben, wodurch die VF-PEs blockiert werden. Ein Adaptertreiber sowie VF-Einheitentreiber werden über den Fehler informiert und starten eine Wiederherstellung. Der Hypervisor sperrt den Zugriff der VF-Einheitentreiber an entscheidenden Punkten, was einen erfolgreichen Abschluss der Wiederherstellung des Adapters ermöglicht.
-
Gemäß Merkmalen der Erfindung verursacht ein Versagen eines VF-PE nur ein Versagen dieses einen PE und wird isoliert behandelt.
-
Gemäß Merkmalen der Erfindung erfährt der VF-Einheitentreiber von dem Fehler und startet eine Wiederherstellung, und der VF-Treiber wird bei den anfänglichen Wiederherstellungsschritten blockiert, wobei die VF-PEs blockiert bleiben, bis der Adaptertreiber die Wiederherstellung des Adapters abgeschlossen hat. Der Adaptertreiber hebt die Blockierung der Adapter-PE auf, sammelt Fehlerdaten und startet eine Wiederherstellung und Reinitialisierung, und der VF-PE bleibt blockiert. Der Adaptertreiber stellt den Adapter wieder her, setzt die VFs zurück und stellt die vorherige Konfiguration des Adapters wieder her. Der Adaptertreiber erteilt die Erlaubnis zum Aufheben der Blockierung der VF-PEs, und die VF-Treiber beginnen mit der Wiederherstellung.
-
Gemäß Merkmalen der Erfindung ist keine Koordination zwischen dem Adaptertreiber und den VF-Einheitentreibern oder der VF-Einheitentreiber untereinander erforderlich. Die VF-Einheitentreiber können unabhängig voneinander vorgehen und die Wiederherstellung unabhängig voneinander abschließen.
-
Gemäß Merkmalen der Erfindung werden mehrere Isolierungsebenen bereitgestellt. Eine erste Isolierungsebene beinhaltet Fehler, die im Bereich einer einzigen VF liegen. In diesem Fall wird nur der einzelne PE für die einzelne VF blockiert und wiederhergestellt. Eine zweite Isolierungsebene beinhaltet mindestens einen Fehler, der im Bereich des gesamten Adapters liegt. In diesem Fall werden alle PEs blockiert und wiederhergestellt, was den Adapter-PE und jeden der VF-PEs einschließt.
-
Kurzbeschreibung der Zeichnungen
-
Die vorliegende Erfindung ist zusammen mit dem vorstehend Beschriebenen und anderen Aufgaben und Vorteilen am besten aufgrund der folgenden ausführlichen Beschreibung der bevorzugten Ausführungsformen der Erfindung zu verstehen, die in den Zeichnungen veranschaulicht sind, wobei:
-
1 und 2 gemäß der bevorzugten Ausführungsform jeweils ein beispielhaftes Computersystem und ein beispielhaftes System zum Realisieren einer erweiterten Fehlerbehandlung für einen Hardware-E/A-Adapter wie beispielsweise einen SRIOV-Adapter veranschaulichen;
-
3, 4, 5 und 6 jeweils einen Ablaufplan zeigen, der beispielhafte Operationen zum Realisieren einer erweiterten Fehlerbehandlung für den SRIOV-Adapter gemäß der bevorzugten Ausführungsform veranschaulicht, und
-
7 ein Blockschaubild ist, das ein Computerprogrammprodukt gemäß der bevorzugten Ausführungsform veranschaulicht.
-
Ausführliche Beschreibung der bevorzugten Ausführungsformen
-
In der folgenden ausführlichen Beschreibung von Ausführungsformen der Erfindung wird auf die begleitenden Zeichnungen Bezug genommen, die beispielhafte Ausführungsformen veranschaulichen, mit deren Hilfe die Erfindung in die Praxis umgesetzt werden kann. Es versteht sich, dass andere Ausführungsformen verwendet und strukturelle Änderungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung abzuweichen.
-
Die hier verwendete Terminologie dient ausschließlich dem Zweck der Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Singularformen unbestimmter und bestimmter Artikel wie „ein”, „eine” und „der”, „die”, „das” sollen ebenfalls die Pluralformen beinhalten, solange der Kontext nicht klar auf etwas anderes hinweist. Ferner versteht sich, dass die Begriffe „aufweist” und/oder „aufweisend” in dieser Beschreibung das Vorhandensein von behaupteten Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten beschreiben, aber das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen aus diesen nicht ausschließen.
-
Gemäß Merkmalen der Erfindung werden ein Verfahren, System und Computerprogrammprodukt zum Realisieren einer erweiterten Fehlersammlung für einen Hardware-E/A-Adapter wie beispielsweise einen SRIOV-Adapter in einem virtualisierten System bereitgestellt.
-
Im Folgenden wird auf die Zeichnungen Bezug genommen. 1 zeigt gemäß der bevorzugten Ausführungsform ein allgemein durch das Bezugszeichen 100 bezeichnetes beispielhaftes Computersystem zum Realisieren einer erweiterten Fehlersammlung für einen Hardware-E/A-Adapter 102 bzw. einen SRIOV-Adapter 102. Das Computersystem 100 verfügt über einen oder mehrere Prozessoren 104 oder Zentraleinheiten (CPUs) 104 (wovon eine gezeigt wird), die mithilfe eines E/A-Hub oder einer Prozessor-Hostbridge 106 mit dem SRIOV-Adapter oder Hardware-E/A-Adapter 102 verbunden sind. Die Prozessor-Hostbridge (PHB) 106 stellt gemäß der bevorzugten Ausführungsform vielfältige PE-Unterstützung (partitionierbarer Endpunkt).
-
Das Computersystem 100 weist einen Speicher 108 und eine oder mehrere logische Partitionen (LPARs) 110 (von denen eine gezeigt wird) auf, die mithilfe eines Systembusses 111 mit dem Prozessor 104 und der Prozessor-Hostbridge 106 verbunden sind. Jedes Betriebssystem (BS) 112 befindet sich in seiner eigenen LPAR 110, wobei jeder LPAR ein Teil eines physischen Prozessors 104, ein gesamter physischer Prozessor oder mehrere physische Prozessoren des Computers 100 zugeordnet sind. Ein VF-Einheitentreiber 114 wird zusammen mit der logischen Partition (LPAR) 110 bereitgestellt. Jeder LPAR 110 ist ein Abschnitt des Speichers 108 zugeordnet. Zu dem Computersystem 100 zählt ein Hypervisor 116 mit einem Konfigurationsmechanismus 118. Der Hypervisor 116 ist ein Teil der System-Firmware und verwaltet die Zuordnung von Ressourcen zu jedem Betriebssystem 112 und jeder LPAR 110.
-
Wie gezeigt, ist eine Hardwaremanagementkonsole (hardware management console) HMC 120, die beispielsweise zum Verwalten von Systemfunktionen, darunter eine Konfiguration logischer Partitionen und eine Hardwarevirtualisierung, verwendet wird, mit dem Hypervisor 116 über einen Serviceprozessor 122 verbunden. Das Computersystem 100 verfügt über einen Manager für physische Funktionen (PFs) bzw. eine PF-Zusatzregion 124, die zusammen mit dem Hypervisor 116 bereitgestellt wird. Zu der PF-Zusatzregion 124 zählt ein Adaptertreiber 128 zum Verwalten physischer Funktionen des Hardware-E/A-Adapters 102. Der Hypervisor 116 verwendet die PF-Zusatzregion 124 beispielsweise zum Konfigurieren physischer Funktionen (PFs) und virtueller Funktionen (VFs) des Hardware-E/A-Adapters 102 auf der Grundlage von Konfigurationsdaten, die von einem Systemadministrator über die Hardware-Managementkonsole 120 bereitgestellt werden.
-
Wie gezeigt, weist der Hardware-E/A-Adapter 102 zum Beispiel eine erste physische Funktion 130, eine zweite physische Funktion 132, einen ersten Anschluss 134 und einen zweiten Anschluss 136 auf. Der Hypervisor 116 konfiguriert mithilfe der PF-Zusatzregion 124 virtuelle Funktionen auf der Grundlage der physischen Funktionen 130, 132 und ordnet virtuelle Funktionen einem oder mehreren Anschlüssen 134, 136 des Hardware-E/A-Adapters 102 zu.
-
Zum Beispiel werden eine erste virtuelle Funktion 140, Instanz 1, und die M-te Instanz der ersten virtuellen Funktion 142, wobei M größer als 1 ist, dem zweiten Anschluss 136 zugeordnet. Wie gezeigt werden eine zweite virtuelle Funktion 144 wie beispielsweise die erste Instanz der zweiten virtuellen Funktion 144 und die P-te Instanz der zweiten virtuellen Funktion 146, wobei P größer als 1 ist, dem ersten Anschluss 134 zugeordnet. Wie gezeigt werden mehrere Instanzen einer N-ten virtuellen Funktion, wobei N größer als 2 ist, wie beispielsweise die erste Instanz der N-ten virtuellen Funktion 148 dem ersten Anschluss 134 zugeordnet, und die Q-te Instanz der N-ten virtuellen Funktion 150, wobei Q größer als 1 ist, wird dem zweiten Anschluss 136 zugeordnet.
-
Jede Instanz der ersten virtuellen Funktion 140, 142, der zweiten virtuellen Funktion 144, 146 und der N-ten virtuellen Funktion 148, 150 werden von einer physischen Funktion gehostet wie beispielsweise einer aus der ersten physischen Funktion 130, der zweiten physischen Funktion 132 und einer weiteren physischen Funktion (nicht gezeigt).
-
Jede Instanz der ersten virtuellen Funktion 140, 142, der zweiten virtuellen Funktion 144, 146 und der N-ten virtuellen Funktion 148, 150 weist eine entsprechende Kennung (ID) der virtuellen Funktion auf, gezeigt als ID 152, ID 154, ID 156, ID 158, ID 160 und ID 162. Durch jede Kennung einer virtuellen Funktion wird eine spezielle, von dem Hardware-E/A-Adapter 102 gehostete virtuelle Funktion eindeutig gekennzeichnet. Wenn zum Beispiel eine Nachricht (nicht gezeigt) zu einer speziellen virtuellen Funktion geleitet wird, enthält die Nachricht die der speziellen virtuellen Funktion zugeordnete Kennung.
-
Gemäß Merkmalen der Erfindung wandelt die PHB 106 mit vielfacher PE-Unterstützung einen einzelnen physischen Adapter in mehrere unabhängige PCI-Endpunkte. Diese Endpunkte können dann von den verschiedenen Partitionen unabhängig voneinander verwaltet werden. Jede VF 140, 142, 144, 146, 148, 150 ist ein einmaliger PE. Außerdem ist ein PE vorhanden, der dem gesamten Adapter 102 zugeordnet ist. Ein Versagen eines VF-PE verursacht nur ein Versagen dieses einen PE und wird vorteilhafterweise isoliert behandelt. Ein Versagen des Adapter-PE wird an die dem Adapter zugeordneten VF-PEs weitergegeben und bewirkt, dass diese ebenfalls versagen.
-
Bei einem partitionierbaren Endpunkt (PE) handelt es sich um eine separat zuweisbare E/A-Einheit; das heißt, jeder Teil eines E/A-Subsystems, der unabhängig von einem anderen PE eine logische Partition zugewiesen werden kann. Jeder PE verfügt über unabhängige Bereiche (Adressierung, Fehler, Status und dergleichen), um auf PE-Ebene Fehlerisolierung, -erkennung und -behebung bereitzustellen.
-
Gemäß Merkmalen der Erfindung stellt der Hypervisor 116 eine grundlegende Unterstützung zum Verwalten der speziellen PEs zur Verfügung. Der Adaptertreiber 128, der den PEs spezielle Funktionen und Partitionen zuordnet, sorgt für sequenzielle Fehlerbehebung für den gesamten Adapter 102, steuert, wann die VFs 140, 142, 144, 146, 148, 150 mit der Wiederherstellung beginnen dürfen, und verwaltet die PFs 130, 132. Der VF-Einheitentreiber 114 handhabt die VF-Fehlerbehebung, zum Beispiel unter Verwendung derselben Sequenz, die bei einem nicht gemeinsam genutzten Adapter befolgt wird.
-
Das Computersystem 100 wird in einer vereinfachten Form gezeigt, die für das Verständnis der vorliegenden Erfindung ausreichend ist. Das veranschaulichte Computersystem 100 soll keine architektonischen oder funktionellen Einschränkungen andeuten. Die vorliegende Erfindung kann mit verschiedenen Hardware-Realisierungen und -Systemen sowie verschiedenen anderen internen Hardwareeinheiten verwendet werden.
-
2 zeigt gemäß der bevorzugten Ausführungsform ein allgemein durch das Bezugszeichen 200 bezeichnetes weiteres beispielhaftes System zum Realisieren einer verteilten Fehlerbehebungs-Datensammlung und -Analyse für einen Hardware-E/A-Adapter bzw. SRIOV-Adapter 202.
-
Das System 200 weist einen Hypervisor 204 oder einen anderen Virtualisierungsvermittler auf, der verwendet wird, um mehrere logische Partitionen zu befähigen, auf virtuelle Funktionen zuzugreifen, die von Hardware bereitgestellt werden, zu der der Hardware-E/A-Adapter 202 zählt. Zum Beispiel wird, wie in 2 gezeigt, der Hypervisor 204 verwendet, um eine erste logische Partition 206, eine zweite logische Partition 208 und eine N-te logische Partition 210 in die Lage zu versetzen, auf eine Vielzahl virtueller Funktionen 212, 214, 216, 218 zuzugreifen, die von dem Hardware-E/A-Adapter 202 bereitgestellt werden. Beispielsweise verwendet der Hypervisor 204 eine erste physische Funktion 220 des Hardware-E/A-Adapters 202, um eine erste Instanz einer ersten virtuellen Funktion 212, eine zweite Instanz einer ersten virtuellen Funktion 214 und eine N-te Instanz einer ersten virtuellen Funktion 216 für die logischen Partitionen 206, 208, 210 bereitzustellen. Wie gezeigt, verwendet der Hypervisor 204 eine zweite physische Funktion 222 des Hardware-E/A-Adapters 202, um eine zweite virtuelle Funktion 218 für die logischen Partitionen 206, 208, 210 bereitzustellen.
-
Zu den physischen Funktionen 220, 222 zählen vorteilhafterweise PCI-Funktionen, die Einzelstamm-E/A-Virtualisierungsfähigkeiten (single root I/O virtualization capabilities) unterstützen. Jede der virtuellen Funktionen 212, 214, 216, 218 ist einer der physischen Funktionen 220, 222 zugeordnet und dafür eingerichtet, eine oder mehrere physische Ressourcen des Hardware-E/A-Adapters 202 gemeinsam zu nutzen.
-
Softwarefunktionen oder -module wie beispielsweise eine Zusatzregion einer physischen Funktion (PF-Zusatzregion) 224 mit einem Adaptertreiber 225 werden zum Verwalten der physischen Funktionen 220, 222 und der virtuellen Funktionen 212, 214, 216, 218 mit dem Hypervisor 204 bereitgestellt. Zum Beispiel kann ein Benutzer eine bestimmte Konfiguration festlegen, und der Hypervisor 204 verwendet die PF-Zusatzregion 224 zum Konfigurieren der virtuellen Funktionen 212, 214, 216, 218 ausgehend von den physischen Funktionen 220, 222.
-
Beispielsweise aktiviert der Hypervisor 204 mit der PF-Zusatzregion 224 beim Betrieb die Instanzen 212, 214, 216 der ersten virtuellen Funktion ausgehend von der ersten physischen Funktion 220. Der Hypervisor 204 mit der PF-Zusatzregion 224 aktiviert die zweite virtuelle Funktion 218 ausgehend von der zweiten physischen Funktion 222. Die virtuellen Funktionen 212, 214, 216, 218 werden beispielsweise auf der Grundlage einer von einem Benutzer bereitgestellten Konfiguration aktiviert. Auf jeder der logischen Partitionen 206, 208, 210 können ein Betriebssystem (nicht gezeigt) und Clientanwendungen (nicht gezeigt) ausgeführt werden.
-
Wie gezeigt, führen die Clientanwendungen, die auf den logischen Partitionen 206, 208, 210 ausgeführt werden, virtuelle Eingabe/Ausgabeoperationen aus und weisen einen entsprechenden Einheitentreiber zum direkten Verwalten einer zugeordneten virtuellen Funktion auf. Zum Beispiel kann eine erste Clientanwendung, die auf der ersten logischen Partition 206 ausgeführt wird, einen ersten Client-VF-Einheitentreiber 226 aufweisen, und eine zweite Clientanwendung, die auf der ersten logischen Partition 206 ausgeführt wird, kann einen zweiten Client-VF-Einheitentreiber 228 aufweisen.
-
Wie gezeigt greift der erste Client-VF-Einheitentreiber 226 auf die erste Instanz der ersten virtuellen Funktion 212 zu. Der zweite Client-VF-Einheitentreiber 228 greift auf die zweite virtuelle Funktion 218 zu. Ein dritter Client-VF-Einheitentreiber 230, der auf der zweiten logischen Partition 208 ausgeführt wird, greift auf die zweite Instanz der ersten virtuellen Funktion 214 zu. Ein N-ter Client-VF-Einheitentreiber 232, der auf der N-ten logischen Partition 210 ausgeführt wird, greift auf die N-te Instanz der ersten virtuellen Funktion 216 zu. Ein Zugriffsmechanismus 234 und ein Konfigurationsmechanismus 236 werden mit dem Hypervisor 204 bereitgestellt, um einer logischen Partition eine virtuelle Funktion zuzuordnen, auf die zugegriffen wird. Der Hypervisor 204 verwendet den Zugriffsmechanismus 234, um es logischen Partitionen wie beispielsweise der LPAR 206 zu ermöglichen, auf einen Konfigurationsbereich zuzugreifen, der einer oder mehreren der virtuellen Funktionen 212, 214, 216, 218 zugeordnet ist.
-
Gemäß Merkmalen der Erfindung ist der Hardware-E/A-Adapter in mehrere Endpunkte partitioniert, wobei jeder partitionierbare Endpunkt (PE) einer Funktion entspricht und dem gesamten Adapter ein Adapter-PE zugeordnet ist. Die Endpunkte werden sowohl unabhängig verwaltet, und zwar bei Aktionen, deren Bereich auf eine einzige Funktion beschränkt ist, als auch als eine Gruppe bei Aktionen im Bereich des gesamten Adapters. Ein Fehler oder ein Versagen des Adapter-PE blockiert den Adapter-PE und wird an die dem Adapter zugeordneten VF-PEs weitergegeben, wodurch die VF-PEs blockiert werden. Ein Adaptertreiber sowie VF-Einheitentreiber werden über den Fehler informiert und starten eine Wiederherstellung. Der Hypervisor sperrt den Zugriff der VF-Einheitentreiber an entscheidenden Punkten, was einen erfolgreichen Abschluss der Wiederherstellung des Adapters ermöglicht.
-
Gemäß Merkmalen der Erfindung hebt der Adapter die Blockierung seines PE auf, sammelt Fehlerdaten und startet eine Wiederherstellung/Reinitialisierung, und die VF-PEs bleiben blockiert. Der Adaptertreiber stellt den Adapter wieder her, setzt die VFs zurück und stellt die vorherige Konfiguration des Adapters wieder her. Der Adaptertreiber erteilt die Erlaubnis zum Aufheben der Blockierung der VF-PEs, und die VF-Treiber beginnen mit der Wiederherstellung.
-
Das System 200 wird in einer vereinfachten Form gezeigt, die für das Verständnis der vorliegenden Erfindung ausreichend ist. Das veranschaulichte System 200 soll keine architektonischen oder funktionellen Einschränkungen andeuten. Die vorliegende Erfindung kann mit verschiedenen Hardware-Realisierungen und -Systemen sowie verschiedenen anderen internen Hardwareeinheiten verwendet werden.
-
Gemäß Merkmalen der Erfindung wird eine erweiterte Fehlerbehandlung (EEH) optional darüber eingeführt, dass die HW (Hardware) einen Fehler entdeckt und den Adapter-PE zusammen mit den untergeordneten PEs blockiert. Dieselbe Sequenz kann auch durch eine Anzahl anderer Ursachen ausgelöst werden – diese dient nur als Beispiel.
-
Die 3, 4, 5 und 6 zeigen beispielhafte Operationen der Verarbeitung und Logik, die von dem Hypervisor 610 zum Realisieren einer erweiterten Fehlerbehandlung (EEH) für einen Hardware-E/A-Adapter gemäß der bevorzugten Ausführungsform bereitgestellt werden.
-
In 3 erkennt die HW, wie in einem Block 300 gezeigt, einen Fehler und blockiert den Adapter-PE. Wie in einem Block 302 gezeigt, werden andere dem Adapter zugeordnete PEs wie beispielsweise VF-PEs blockiert. Wie in einem Block 304 gezeigt, informiert die HW den Hypervisor über die blockierten PEs. Der Hypervisor informiert, wie in einem Block 306 gezeigt, PE-Besitzer über die blockierten PEs, darunter den Adaptertreiber und VF-Einheitentreiber. Der Adaptertreiber und VF-Einheitentreiber beginnen asynchron mit einer Wiederherstellung wie in einem Block 308 gezeigt.
-
In 4 empfängt der Adaptertreiber, wie in einem Block 400 gezeigt, eine Benachrichtigung über den Fehler. Der Adaptertreiber beginnt mit einer EEH-Wiederherstellung, wie in einem Block 402 gezeigt. Der Adaptertreiber hebt die Blockierung des Adapter-PE auf, aber nicht die anderer PEs, sammelt Fehlerdaten und beginnt mit einer Wiederherstellung, wie in einem Block 404 gezeigt.
-
Wie in einem Block 406 gezeigt, stellt der Adaptertreiber den Adapter wieder her. Dies kann ein Zurücksetzen des gesamten Adapters beinhalten, wodurch auch die VFs zurückgesetzt werden. Der Adapter wird dann bei Block 406 in dem voreingestellten Zustand wiederhergestellt. Wie in einem Block 408 gezeigt, spielt der Adaptertreiber die vorherige Konfiguration auf den Adapter zurück. Dabei handelt es sich um dieselbe Konfiguration wie vorher, da die VFs ähnlich dem vorher Vorhandenen wiederhergestellt werden müssen, beispielsweise mit denselben PCI-BAR-Abständen oder VF-BAR-Registern und dergleichen. Der Adaptertreiber protokolliert dann den Fehler und übermittelt eine Protokoll-ID an den Hypervisor, wie in einem Block 410 gezeigt. Wie in einem Block 412 gezeigt, erteilt der Adaptertreiber dem Hypervisor die Erlaubnis zum Aufheben der Blockierung von VF-PEs und nimmt wieder einen Normalbetrieb auf.
-
In 5 empfängt der VF-Einheitentreiber, wie bei einem Block 500 gezeigt, eine Benachrichtigung über den Fehler. Der VF-Einheitentreiber beginnt mit einer EEH-Wiederherstellung, wie in einem Block 502 gezeigt. Der VF-Einheitentreiber führt bei seinem Versuch, die Blockierung der PEs aufzuheben, eine Schleife aus, und der Versuch bleibt erfolglos bis der Adaptertreiber die Wiederherstellung abschließt, wie in einem Block 504 gezeigt. Der Adaptertreiber schließt die Wiederherstellung ab, wie in einem Block 506 gezeigt. Der VF-Einheitentreiber hebt die Blockierung des PE auf, fragt Fehlerdaten ab und beginnt mit einer Wiederherstellung, wie in einem Block 508 gezeigt. Der VF-Einheitentreiber schließt die Wiederherstellung ab und protokolliert Fehlerdaten, wie in einem Block 510 gezeigt. Anschließend werden normale VF- und E/A-Operationen wiederaufgenommen, wie in einem Block 512 gezeigt.
-
Gemäß Merkmalen der Erfindung beinhaltet eine erweiterte Fehlerbehandlung (EEH) wahlweise zwei Isolierungsebenen, wie beispielsweise in 3, 4 und 5 gezeigt. Die erste Isolierungsebene beinhaltet Fehler, die im Bereich einer einzigen VF liegen. In diesem Fall wird nur der einzelne PE für die einzelne VF blockiert und wiederhergestellt. Die zweite Isolierungsebene beinhaltet Fehler, die im Bereich des gesamten Adapters liegen. In diesem Fall werden alle PEs blockiert und wiederhergestellt, was den Adapter-PE sowie jeden der VF-PEs einschließt.
-
Gemäß Merkmalen der Erfindung beinhaltet eine erweiterte Fehlerbehandlung (EEH) wahlweise zusätzliche Zwischengruppierungen. Dadurch werden der Hierarchie zusätzliche Ebenen hinzugefügt. Der Vorteil davon liegt in einer besser abgestimmten Wiederherstellung. Die Wiederherstellungsaktion ist weniger störend, und es sind weniger VFs betroffen. Beispielsweise können einige Fehler im Bereich eines einzigen physischen Anschlusses liegen. In diesem Fall kann eine Wiederherstellung ein Blockieren der Menge von PEs beinhalten, die den VFs zugeordnet sind, die diesen physischen Anschluss verwenden. Bei einem anderen Beispiel können Fehler im Bereich eines einzigen E/A-Protokolls liegen, zum Beispiel kann bei einem konvergenten Netzwerkadapter (converged network adapter, CNA), der sowohl Network Interface Controller (NIC) als auch Fibre Channel over Ethernet (FCoE) realisiert, ein Fehler ausschließlich FCoE betreffen. In diesem Fall kann eine Wiederherstellung ein Blockieren der Menge von PEs beinhalten, die den VFs zugeordnet sind, die dieses Protokoll verwenden, während PEs für VFs, die andere Protokolle ausführen, nicht blockiert werden.
-
Gemäß Merkmalen der Erfindung beinhaltet eine erweiterte Fehlerbehandlung (EEH) wahlweise mehrere und potenziell überlappende Gruppen von PEs. In Fortsetzung der vorstehenden Beispiele: Es können Gruppierungen für alle PEs an einem einzigen Anschluss, alle FCoE-PEs an diesem Anschluss und ebenso alle NIC-PEs an demselben Anschluss vorhanden sein. Darüber hinaus können weitere Gruppierungen aller FCoE-PEs über alle Anschlüsse des Adapters vorhanden sein. Die genauen Einzelheiten der verwendeten Gruppierungen werden durch die Isolierungsebene festgelegt, die von dem Adapteranbieter für eine Wiederherstellung bereitgestellt wird. Ein Zulassen verschiedener Gruppierungen durch den Adaptertreiber ermöglicht eine maximale Fehlerisolierung mit der minimalen Anzahl betroffener VF-PEs. Es sollte beachtet werden, dass die Wiederherstellung durch den VF-Treiber von den verwendeten Gruppierungen unabhängig ist, da der VF-Treiber nur auf eine einzige VF einwirkt.
-
6 zeigt eine allgemein durch ein Bezugszeichen 600 bezeichnete beispielhafte Vorrichtung, um einen beispielhaften Protokollfluss eines übergeordneten Fehlerprotokolls für von dem Adapter oder einer PF ausgelöste Fehlerprotokolle zu veranschaulichen. Wie in 6 gezeigt, weist die Vorrichtung 600 eine Vielzahl von LPARs 1 – N, 602 mit einem Betriebssystem AIX, Linux oder IBM i und einen VF-Treiber 606 auf. Ein Hypervisor 610 weist eine PF-Zusatzregion 612 mit einem Fehlerprotokoll 614 und einem Adaptertreiber 616, eine Protokoll-ID 618 sowie eine Fehlerprotokollierung 619 auf. Ein SRIOV-Adapter 620 weist eine Vielzahl von PFs 622 und eine Vielzahl von VFs 624 auf. Eine Hardwaremanagementkonsole (HMC) 630 ist mit dem Hypervisor 610 über einen Feld-Serviceprozessor (field service processor, FSP) 632 verbunden.
-
In 6 wird ein erster Schritt durch eine mit 1 bezeichnete durchgehende Linie für einen Firmware-Fehlerprotokollfluss gezeigt, eine PF-Zusatzregion beginnt mit dem Prozess des Erstellens eines Plattform-Fehlerprotokolls durch Ausgeben einer AMC-Anforderung (AMC = Anwendungsmanagementkonsole) an den Hypervisor, einen Fehler zu protokollieren. Die PF-Zusatzregion 612 stellt der Fehlerprotokollierungsunterstützung 619 des Hypervisor 610 SRC), Schweregrad, Aktionsmarkierungen sowie weitere Daten zur Verfügung. Sobald das Fehlerprotokoll 614 erstellt wurde, wird die Protokoll-ID 618 an die PF-Zusatzregion 612 zurückgegeben.
-
Ein zweiter Schritt wird durch eine mit 2 bezeichnete Linie gezeigt: Die Fehlerprotokollierungsunterstützung 619 des Hypervisor 610 sendet das Protokoll an den FSP 632, damit es in den Protokollfluss einbezogen wird. Ein dritter Schritt wird durch eine mit 3 bezeichnete Linie gezeigt: Der FSP 632 sendet das Protokoll an die HMC 630. Ein vierter Schritt wird durch eine mit 4 bezeichnete Linie gezeigt: Der FSP 632 sendet das Protokoll für eine vollständige Rundsendung zurück an den Hypervisor 610. Ein nächster, fünfter Schritt wird durch mit 5 bezeichnete Linien gezeigt: Die Fehlerprotokollierungsunterstützung 619 des Hypervisor 610 sendet das Protokoll an alle aktiven Partitionen 602. Ein optionaler sechster Schritt wird durch eine mit 6 bezeichnete, gestrichelt dargestellte Linie für eine Ressourcenüberwachungs- und -steuerungsverbindung (Resource Monitoring and Control (RMC) connection) gezeigt, wobei die HMC 630 das Plattform-Fehlerprotokoll mittels Pull und mithilfe der RMC-Verbindung von Plattform-Betriebssystemen abrufen kann. Dadurch wird ein redundanter Pfad zum Empfangen von Plattform-Fehlerprotokollen bereitgestellt. Ein optionaler siebter Schritt wird durch eine mit 7 bezeichnete gestrichelte Linie für eine Hypervisor-Call-Schnittstelle (HCALL-Schnittstelle) gezeigt: Die Partition 602 kann die Fehlerprotokoll-ID 618 von dem Hypervisor 610 abfragen.
-
In 7 wird ein Erzeugnis oder ein Computerprogrammprodukt 700 der Erfindung veranschaulicht. Das Computerprogrammprodukt 700 ist physisch auf einem nicht flüchtigen computerlesbaren Speichermedium verkörpert, das ein Aufzeichnungsmedium 702 aufweist wie beispielsweise eine Diskette, einen Nur-Lese-Speicher mit hoher Kapazität in der Form einer optisch gelesenen Compact Disk oder CD-ROM, ein Band oder ein anderes, ähnliches Computerprogrammprodukt. Das Aufzeichnungsmedium 702 speichert die Programmmittel 704, 706, 708 und 710 auf dem Medium 702, um die Verfahren zum Realisieren einer verbesserten Fehlersammlung für einen E/A-Adapter wie beispielsweise einen SRIOV-Adapter einer bevorzugten Ausführungsform in dem System 100 aus 1 oder dem System 200 aus 2 auszuführen.
-
Eine durch die aufgezeichneten Programmmittel 704, 706, 708 und 710 definierte Sequenz von Programmanweisungen oder eine logische Anordnung einer oder mehrerer zueinander in Wechselbeziehung stehender Module lenkt das Computersystem 700, damit eine erweiterte Fehlersammlung für den E/A-Adapter realisiert wird.
-
Obwohl die vorliegende Erfindung mit Bezug auf die in den Figuren gezeigten Details der Ausführungsformen der Erfindung beschrieben wurde, sollen diese Details den in den angefügten Ansprüchen beanspruchten Schutzumfang der Erfindung nicht einschränken.