IP Library Granted Patent US 9,400,704
Granted Patent B2
US 9,400,704 · App. 13/915,887 · Granted Jul 26, 2016

Implementing distributed debug data collection and analysis for a shared adapter in a virtualized system

Inventors: Charles S. Graham (Rochester, MN); Robert J. Manulik (Rochester, MN); John R. Oberly, III (Rochester, MN); Timothy J. Schimke (Stewartville, MN)
Assignee: Globalfoundries Inc.
G06F11/0712G06F11/0778G06F11/0793
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,400,704
App. No.
13/915,887
Granted
Jul 26, 2016
Kind
B2
Abstract

A method, system and computer program product are provided for implementing distributed debug data collection and analysis for a hardware I/O adapter, such as, a Single Root Input/Output Virtualization (SRIOV) adapter in a virtualized system. A predetermined event triggers a base error collection sequence. Adapter driver data is collected and virtual function (VF) device drivers are locked out responsive to triggering the base error collection sequence. Adapter debug data is collected and the adapter is reinitialized including an indication to VF drivers if VF error data is to be collected. The virtual function (VF) device drivers are unlocked allowing the VF device drivers to commence recovery of a respective virtual function (VF).

Claims (34)

1. A method for implementing distributed debug data collection and analysis for an input/output (I/O) adapter in a computer system comprising:

triggering a base error collection sequence responsive to a predetermined triggering event;

collecting adapter driver data and locking virtual function (VF) device drivers responsive to triggering the base error collection sequence;

collecting adapter debug data and reinitializing the adapter including providing an indication to said VF device drivers if VF error data is to be collected; and

unlocking the virtual function (VF) device drivers, allowing the VF device drivers to commence recovery of a respective virtual function (VF), wherein said predetermined triggering event includes a VF device driver initiating an adapter dump on the adapter, and wherein the method includes restricting the VF device driver from collecting the adapter dump.

2. The method as recited in claim 1 , wherein the adapter includes a Single Root Input/Output Virtualization (SRIOV) adapter.

3. The method as recited in claim 1 , wherein the base error collection sequence includes collecting the adapter dump responsive to locking out said virtual function (VF) device drivers, the adapter dump including information on virtual functions (VFs).

4. The method as recited in claim 1 , wherein locking out said virtual function (VF) device drivers includes utilizing an error handling recovery function, and further includes collecting I/O host bridge debug data responsive to locking out said virtual function (VF) device drivers.

5. The method as recited in claim 1 , wherein the VF device driver detects an error responsive to the virtual function (VF) device drivers being locked, and commences an error handling recovery process; and further includes said VF device driver polling device state until the VF device driver is unlocked.

6. The method as recited in claim 1 , including said VF device driver collecting error data responsive to said indication provided to said VF device driver of said VF error data to be collected.

7. The method as recited in claim 1 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor receiving a request from a hardware management console (H MC).

8. The method as recited in claim 1 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting an internal adapter driver error.

9. The method as recited in claim 1 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting an adapter dump present on the adapter.

10. The method as recited in claim 9 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting one or more of an adapter error or a platform error.

11. A system for implementing distributed debug data collection and analysis for a hardware I/O adapter in a computer system comprising: a processor;

a hypervisor managing functions associated with the hardware I/O adapter;

said processor using said hypervisor to perform the steps of:

triggering a base error collection sequence responsive to a predetermined triggering event;

collecting adapter driver data and locking virtual function (VF) device drivers responsive to triggering the base error collection sequence;

collecting adapter debug data and reinitializing the adapter including providing an indication to said VF device drivers if VF error data is to be collected; and

unlocking the virtual function (VF) device drivers, allowing the VF device drivers to commence recovery of a respective virtual function (VF), wherein said predetermined triggering event includes a VF device driver initiating an adapter dump on the adapter, and wherein the method includes restricting the VF device driver from collecting the adapter dump.

12. A method for implementing distributed debug data collection and analysis for an input/output (I/O) adapter in a computer system comprising:

triggering a base error collection sequence responsive to a predetermined triggering event;

collecting adapter driver data and locking virtual function (VF) device drivers responsive to triggering the base error collection sequence;

collecting adapter debug data and reinitializing the adapter including providing an indication to said VF device drivers if VF error data is to be collected; and

unlocking the virtual function (VF) device drivers, allowing the VF device drivers to commence recovery of a respective virtual function (VF), wherein said predetermined triggering event includes a VF device driver initiating an adapter dump on the adapter, and wherein the VF device driver initiating an adapter dump is conditional on a privilege being granted to the VF device driver.

13. The method as recited in claim 12 , wherein the adapter includes a Single Root Input/Output Virtualization (SRIOV) adapter.

14. The method as recited in claim 12 , wherein the base error collection sequence includes collecting an adapter dump responsive to locking out said virtual function (VF) device drivers.

15. The method as recited in claim 12 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor receiving a request from a hardware management console (HMC).

16. The method as recited in claim 12 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting an internal adapter driver error.

17. The method as recited in claim 12 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting an adapter dump present on the adapter.

18. The method as recited in claim 12 , wherein said predetermined triggering event includes an adapter driver provided with a system hypervisor detecting one or more of an internal adapter driver error, a platform error, an adapter error, or an adapter dump present on the adapter.

19. The method of claim 12 , wherein the VF device driver initiating an adapter dump is conditional on a privilege being granted to the VF device driver by a system administrator.

20. The method of claim 12 , wherein the method includes collecting I/O processor host bridge debug data.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2013
From: GRAHAM, CHARLES S.; MANULIK, ROBERT J.; OBERLY, JOHN R., III; SCHIMKE, TIMOTHY J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030597/0270 →
Continuity (1)
Related Publication 20140372795A1 · Dec 18, 2014