DE102014108249A1 - Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System - Google Patents

Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System Download PDF

Info

Publication number
DE102014108249A1
DE102014108249A1 DE201410108249 DE102014108249A DE102014108249A1 DE 102014108249 A1 DE102014108249 A1 DE 102014108249A1 DE 201410108249 DE201410108249 DE 201410108249 DE 102014108249 A DE102014108249 A DE 102014108249A DE 102014108249 A1 DE102014108249 A1 DE 102014108249A1
Authority
DE
Germany
Prior art keywords
adapter
pes
driver
device drivers
recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE201410108249
Other languages
English (en)
Inventor
Jesse P Arroyo
Charles S. Graham
John R. Oberly
Timothy J. Schimke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014108249A1 publication Critical patent/DE102014108249A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden ein Verfahren, System und Computerprogrammprodukt zum Realisieren einer erweiterten Fehlerbehandlung für einen Hardware-E/A-Adapter wie beispielsweise einen Adapter für Eingabe/Ausgabe-Virtualisierung mit Einzelstamm (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.

Description

  • 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.

Claims (15)

  1. Verfahren zum Realisieren einer erweiterten Fehlersammlung für einen Eingabe/Ausgabe-Adapter (E/A-Adapter) in einem Computersystem, wobei der E/A-Adapter in mehrere partitionierbare Endpunkte partitioniert ist, wobei jeder partitionierbare Endpunkt (PE) einer Funktion entspricht, und wobei das Verfahren einen dem E/A-Adapter zugeordneten Adapter-PE sowie mehrere Virtuelle-Funktion-PEs aufweist, und wobei das Verfahren aufweist: als Reaktion auf einen Fehler des Adapters Blockieren des Adapter-PE; Blockieren der dem Adapter zugeordneten VF-PEs als Reaktion auf ein Blockieren des Adapter-PE; Informieren eines Adaptertreibers und von VF-Einheitentreibern über den Fehler und Starten einer Wiederherstellung durch den Adaptertreiber und die VF-Einheitentreiber und Sperren des Zugriffs der VF-Einheitentreiber, was einen erfolgreichen Abschluss der Wiederherstellung des Adapters ermöglicht.
  2. Verfahren nach Anspruch 1, wobei der E/A-Adapter einen Adapter für Eingabe/Ausgabe-Virtualisierung mit Einzelstamm (SRIOV-Adapter) aufweist.
  3. Verfahren nach Anspruch 1, aufweisend ein Aufheben der Blockierung des Adapter-PE durch den Adaptertreiber, ein Sammeln von Fehlerdaten und ein Starten einer Wiederherstellung und Reinitialisierung, wobei die VF-PEs blockiert bleiben.
  4. Verfahren nach Anspruch 3, das ein Wiederherstellen des Adapters durch den Adaptertreiber und ein Wiederherstellen einer Konfiguration des Adapters auafweist.
  5. Verfahren nach Anspruch 4, das ein Erteilen einer Erlaubnis durch den Adaptertreiber zum Aufheben der Blockierung der VF-PEs aufweist, und dass die VF-Einheitentreiber mit der Wiederherstellung beginnen.
  6. Verfahren nach Anspruch 1, das ein Aufheben der Blockierung der VF-PEs durch die VF-Einheitentreiber als Reaktion auf ein Erhalten einer Erlaubnis zum Aufheben einer Blockierung der VF-PEs aufweist, und dass die VF-Einheitentreiber mit der Wiederherstellung beginnen.
  7. Verfahren nach Anspruch 6, das ein Sammeln von Fehlerdaten durch jeden VF-Einheitentreiber aufweist.
  8. Verfahren nach Anspruch 6, das einen Abschluss der Wiederherstellung und ein Protokollieren von Fehlerdaten durch jeden VF-Einheitentreiber aufweist.
  9. Verfahren nach Anspruch 8, das eine Wiederaufnahme normaler VF- und E/A-Operationen durch die VF-Einheitentreiber aufweist.
  10. Verfahren nach Anspruch 1, das eine Benachrichtigung eines System-Hypervisor darüber aufweist, dass der Adapter-PE und die VF-PEs blockiert sind, wobei der System-Hypervisor den Adaptertreiber und die VF-Einheitentreiber über den Fehler informiert.
  11. Verfahren nach Anspruch 10, das ein asynchrones Starten der Wiederherstellung durch den Adaptertreiber und die VF-Einheitentreiber als Reaktion darauf aufweist, dass sie von dem System-Hypervisor über den Fehler informiert wurden.
  12. System zum Realisieren einer erweiterten Fehlersammlung für einen Eingabe/Ausgabe-Adapter (E/A-Adapter) in einem Computersystem, wobei der E/A-Adapter in mehrere partitionierbare Endpunkte partitioniert ist, wobei jeder partitionierbare Endpunkt (PE) einer Funktion entspricht, und wobei das Verfahren einen dem E/A-Adapter zugeordneten Adapter-PE sowie mehrere Virtuelle-Funktion-PEs (VF-PEs) beinhaltet, und wobei das System aufweist: einen Prozessor, einen Hypervisor, der dem Hardware-E/A-Adapter zugeordnete Funktionen verwaltet; wobei der Prozessor den Hypervisor zum Ausführen folgender Schritte verwendet: als Reaktion auf einen Fehler des Adapters Blockieren des Adapter-PE; Blockieren der dem Adapter zugeordneten VF-PEs als Reaktion auf ein Blockieren des Adapter-PE; Informieren eines Adaptertreibers und von VF-Einheitentreibern über den Fehler und Starten einer Wiederherstellung durch den Adaptertreiber und die VF-Einheitentreiber und Sperren des Zugriffs der VF-Einheitentreiber, was einen erfolgreichen Abschluss der Wiederherstellung des Adapters ermöglicht.
  13. System nach Anspruch 12, das ein Aufheben der Blockierung der VF-PEs durch die VF-Einheitentreiber als Reaktion auf ein Erhalten einer Erlaubnis zum Aufheben einer Blockierung der VF-PEs aufweist, wobei die VF-Einheitentreiber mit einer Wiederherstellung beginnen.
  14. System nach Anspruch 13, das einen Abschluss der Wiederherstellung und ein Protokollieren von Fehlerdaten durch jeden VF-Einheitentreiber aufweist.
  15. System nach Anspruch 14, das eine Wiederaufnahme normaler VF- und E/A-Operationen durch die VF-Einheitentreiber als Reaktion auf einen Abschluss der Wiederherstellung aufweist.
DE201410108249 2013-06-12 2014-06-12 Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System Pending DE102014108249A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/915,943 2013-06-12
US13/915,943 US9304849B2 (en) 2013-06-12 2013-06-12 Implementing enhanced error handling of a shared adapter in a virtualized system

Publications (1)

Publication Number Publication Date
DE102014108249A1 true DE102014108249A1 (de) 2014-12-18

Family

ID=52009915

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410108249 Pending DE102014108249A1 (de) 2013-06-12 2014-06-12 Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System

Country Status (3)

Country Link
US (1) US9304849B2 (de)
CN (1) CN104239161B (de)
DE (1) DE102014108249A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400704B2 (en) 2013-06-12 2016-07-26 Globalfoundries Inc. Implementing distributed debug data collection and analysis for a shared adapter in a virtualized system
US9323620B2 (en) * 2013-06-12 2016-04-26 International Business Machines Corporation Implementing shared adapter configuration updates concurrent with maintenance actions in a virtualized system
US9652319B2 (en) * 2015-07-27 2017-05-16 Mediatek Inc. Process rescue by an OS module after a device error
US10042720B2 (en) 2016-02-22 2018-08-07 International Business Machines Corporation Live partition mobility with I/O migration
US10002018B2 (en) 2016-02-23 2018-06-19 International Business Machines Corporation Migrating single root I/O virtualization adapter configurations in a computing system
US10042723B2 (en) * 2016-02-23 2018-08-07 International Business Machines Corporation Failover of a virtual function exposed by an SR-IOV adapter
US10025584B2 (en) 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters
US9971650B2 (en) 2016-06-06 2018-05-15 International Business Machines Corporation Parallel data collection and recovery for failing virtual computer processing system
US10216591B1 (en) * 2016-06-30 2019-02-26 EMC IP Holding Company LLC Method and apparatus of a profiling algorithm to quickly detect faulty disks/HBA to avoid application disruptions and higher latencies
US9720863B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9720862B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9785451B1 (en) 2016-10-21 2017-10-10 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9760512B1 (en) 2016-10-21 2017-09-12 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9715469B1 (en) 2016-10-21 2017-07-25 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9740647B1 (en) 2016-10-21 2017-08-22 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US10417168B1 (en) 2018-03-14 2019-09-17 International Business Machines Corporation Combining switch slot resources
US11093301B2 (en) * 2019-06-07 2021-08-17 International Business Machines Corporation Input output adapter error recovery concurrent diagnostics
CN110688237B (zh) * 2019-06-25 2024-02-09 华为技术有限公司 转发报文的方法、中间设备和计算机设备

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875310A (en) 1996-05-24 1999-02-23 International Business Machines Corporation Secondary I/O bus with expanded slot capacity and hot plugging capability
US6122289A (en) 1997-08-29 2000-09-19 International Business Machines Corporation Methods, systems and computer program products for controlling data flow through a communications adapter
US6311326B1 (en) 1999-01-04 2001-10-30 Emc Corporation Online debugging and tracing system and method
US6622260B1 (en) * 1999-12-30 2003-09-16 Suresh Marisetty System abstraction layer, processor abstraction layer, and operating system error handling
EP1139220B1 (de) 2000-03-02 2017-10-25 Texas Instruments Incorporated Erhaltung und Abgabe von Prozessoreingebauten Ablaufverfolgungs- und Taktinformationen
US20020161907A1 (en) 2001-04-25 2002-10-31 Avery Moon Adaptive multi-protocol communications system
US7484114B2 (en) 2001-08-17 2009-01-27 International Business Machines Corporation Method and apparatus for providing redundant access to a shared resource with a shareable spare adapter
AU2003228512A1 (en) 2002-04-10 2003-10-27 Instasolv, Inc. Method and system for managing computer systems
GB0214669D0 (en) * 2002-06-26 2002-08-07 Ibm Method for maintaining data access during failure of a controller
US7284236B2 (en) 2002-10-29 2007-10-16 Brocade Communications Systems, Inc. Mechanism to change firmware in a high availability single processor system
CN1256665C (zh) * 2002-12-27 2006-05-17 联想(北京)有限公司 一种计算机与电视结合的实现方法
US7107495B2 (en) 2003-06-19 2006-09-12 International Business Machines Corporation Method, system, and product for improving isolation of input/output errors in logically partitioned data processing systems
US7231493B2 (en) 2004-01-09 2007-06-12 Dell Products L.P. System and method for updating firmware of a storage drive in a storage network
US7991839B2 (en) 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US7757129B2 (en) 2007-03-30 2010-07-13 International Business Machines Corporation Generalized trace and log facility for first error data collection
US7770073B2 (en) 2007-07-27 2010-08-03 International Business Machines Corporation Apparatus, system, and method for responsive acquisition of remote debug data
US8141092B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition
US8141094B2 (en) 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
US8201161B2 (en) 2008-01-07 2012-06-12 Lenovo (Singapore) Pte. Ltd. System and method to update device driver or firmware using a hypervisor environment without system shutdown
US8359415B2 (en) 2008-05-05 2013-01-22 International Business Machines Corporation Multi-root I/O virtualization using separate management facilities of multiple logical partitions
US8261242B2 (en) 2008-06-09 2012-09-04 International Business Machines Corporation Assisting debug memory tracing using an instruction array that tracks the addresses of instructions modifying user specified objects
JP4934642B2 (ja) * 2008-06-11 2012-05-16 株式会社日立製作所 計算機システム
JP2010108409A (ja) 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
US7913024B2 (en) * 2008-12-09 2011-03-22 International Business Machines Corporation Differentiating traffic types in a multi-root PCI express environment
US8504660B2 (en) 2009-08-12 2013-08-06 International Business Machines Corporation Validation of the configuration of a data communications network using a virtual network operations center
US8358661B2 (en) 2010-04-20 2013-01-22 International Business Machines Corporation Remote adapter configuration
US8561064B2 (en) * 2010-10-26 2013-10-15 International Business Machines Corporation Retaining ownership of a virtual function while an adapter is replaced
US8561065B2 (en) * 2010-11-15 2013-10-15 International Business Machines Corporation Virtualization of vendor specific network interfaces of self-virtualizing input/output device virtual functions
US8839240B2 (en) 2010-11-29 2014-09-16 International Business Machines Corporation Accessing vendor-specific drivers for configuring and accessing a self-virtualizing input/output device
US8881141B2 (en) 2010-12-08 2014-11-04 Intenational Business Machines Corporation Virtualization of hardware queues in self-virtualizing input/output devices
US8645755B2 (en) * 2010-12-15 2014-02-04 International Business Machines Corporation Enhanced error handling for self-virtualizing input/output device in logically-partitioned data processing system
US8862739B2 (en) 2011-01-11 2014-10-14 International Business Machines Corporation Allocating resources to virtual functions
US8447891B2 (en) 2011-01-11 2013-05-21 International Business Machines Corporation Dynamically assigning virtual functions to client applications
US8418166B2 (en) 2011-01-11 2013-04-09 International Business Machines Corporation Transparent update of adapter firmware for self-virtualizing input/output device
US8537706B2 (en) 2011-01-11 2013-09-17 International Business Machines Corporation Preserving traffic class priority QoS with self-virtualizing input/output device
US8495252B2 (en) 2011-01-17 2013-07-23 International Business Machines Corporation Implementing PCI-express memory domains for single root virtualized devices
JP5585844B2 (ja) * 2011-03-25 2014-09-10 株式会社日立製作所 仮想計算機の制御方法及び計算機
US8533713B2 (en) * 2011-03-29 2013-09-10 Intel Corporation Efficent migration of virtual functions to enable high availability and resource rebalance
US9218195B2 (en) 2011-05-17 2015-12-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
US8677321B2 (en) 2011-06-13 2014-03-18 Red Hat, Inc. User-space probe based debugging
JP5846836B2 (ja) * 2011-10-11 2016-01-20 株式会社日立製作所 仮想計算機、仮想計算機システム、及び仮想計算機制御方法
US9135101B2 (en) * 2013-03-01 2015-09-15 Avago Technologies General Ip (Singapore) Pte Ltd Virtual function timeout for single root input/output virtualization controllers

Also Published As

Publication number Publication date
US20140372789A1 (en) 2014-12-18
CN104239161B (zh) 2018-02-23
CN104239161A (zh) 2014-12-24
US9304849B2 (en) 2016-04-05

Similar Documents

Publication Publication Date Title
DE102014108249A1 (de) Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System
DE112013002014B4 (de) Bereitstellen von anwendungsgestützter Überwachung und Wiederherstellung für einen Hypervisor eines HA-Clusters
DE112011103666B4 (de) Speicherverwaltung in Cluster-Datenverarbeitungssystemen
DE112012000693B4 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
DE102016105589A1 (de) Anwenden von Firmware-Updates in einem System mit Null-Stillstandszeit durch wahlweise Abschalten und Einschalten von Hardware unter Verwenden einer Hypervisor-Schicht
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE112013006063T5 (de) Funktionsübernahme für einen Datenübertragungskanal in einem Netzwerk mit Hochleistungsdatenverarbeitung
DE102021103080B4 (de) Data center troubleshooting-mechanismus
DE102016203808A1 (de) Verringern der Bevorrechtigung virtueller Maschinen in einer virtualisierten Umgebung
DE112013006476T5 (de) Speicher-Management-Rechner und Speicher-Management-Verfahren
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus
DE102014114108A1 (de) Prozessleitsysteme und -verfahren
DE102015002191A1 (de) Sicherheits-Hypervisor-Funktion
EP2466466A1 (de) Verfahren zur Fehlererkennung bei der Ausführung eines Echtzeit-Betriebssystems
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE102006046717B4 (de) Dynamisch migrierende Kanäle
DE102012017339A1 (de) Rechnersystem
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE112015003759B4 (de) Bearbeiten mehrerer Zähler auf der Grundlage einer einzigen Zugangsprüfung
DE10392810T5 (de) System und Verfahren zum Filtern von Prozessoren nach Integrität während früher Firmware für eine Architektur mit aufgeteilter Wiederherstellung
EP3566398B1 (de) Verfahren und halbleiterschaltkreis zum schützen eines betriebssystems eines sicherheitssystems eines fahrzeugs
DE102013205739A1 (de) Programmgestütztes lastbasiertes verwalten der prozessorbelegung
DE112018001444T5 (de) Verbesserte E/A-Fehlerdiagnose
DE112012004554T5 (de) Serielle Verarbeitung des Zugriffs auf Daten bei Datenverarbeitungsumgebungen mitmehreren Grossrechnern
DE102016203828A1 (de) Auf Zugriffsrechten beruhender Speicherfixierungsmechanismus

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R084 Declaration of willingness to licence