Implementing concurrent device driver maintenance and recovery for an SRIOV adapter in a virtualized system

US9317317B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317317-B2
Application numberUS-201313915737-A
CountryUS
Kind codeB2
Filing dateJun 12, 2013
Priority dateJun 12, 2013
Publication dateApr 19, 2016
Grant dateApr 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system and computer program product are provided for implementing concurrent adapter driver maintenance and recovery for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. An adapter driver at start up time performs configuration of the adapter and each of a set of virtual functions (VFs). The adapter driver writes critical adapter and VF configuration data to a scratchpad buffer. When device driver maintenance is needed, such as to load updated adapter driver firmware, all VF drivers are held off temporarily, current adapter driver is detached, and then the adapter driver is reloaded with the updated driver firmware. Then the adapter driver is restarted with the updated adapter driver firmware, and performs a reinitialization process. The adapter driver performs adapter and VF configuration restoring existing configuration using values read from the scratchpad buffer.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for implementing concurrent device driver maintenance and recovery for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system comprising: providing a physical function (PF) adjunct including an adapter driver with a hypervisor for managing physical functions and virtual functions of the Single Root Input/Output Virtualization (SRIOV) adapter; each virtual function being associated with a physical function, and the physical function supporting SRIOV capabilities; performing an initialization process including said adapter driver performing adapter and virtual function (VF) configuration, and said adapter driver writing adapter and virtual function (VF) configuration data to a scratchpad buffer, said scratchpad buffer kept in said hypervisor and said scratchpad buffer being completely managed within said hypervisor without requiring external management; responsive to configuration changes being made, said adapter driver updating configuration data in the scratchpad buffer; responsive to adapter driver maintenance being needed, said hypervisor placing each VF driver in a freeze state, said hypervisor detaching a current adapter driver, and said hypervisor reloading the adapter driver with an updated adapter driver firmware; said hypervisor restarting the adapter driver with the updated adapter driver firmware, and said adapter driver performing a reinitialization process including said adapter driver restoring adapter and virtual function (VF) configuration using configuration data values read from the scratchpad buffer; and said hypervisor preserving the configuration data in the scratchpad buffer during adapter driver restart for implementing concurrent device driver maintenance and recovery for the Single Root Input/Output Virtualization (SRIOV) adapter. 2. The method as recited in claim 1 , wherein the initialization process includes starting an adapter driver and the adapter driver finding an empty scratchpad buffer. 3. The method as recited in claim 1 , wherein placing each VF driver in a freeze state includes placing all VF Partitionable Endpoints (PEs) in the freeze state. 4. The method as recited in claim 1 , includes the VF driver detecting an error condition responsive to being placed in the freeze state. 5. The method as recited in claim 4 , further includes the VF driver commencing an error handling recovery. 6. The method as recited in claim 5 , wherein performing a reinitialization process includes the adapter driver giving a system hypervisor permission for all VF Partitionable Endpoints (PEs) to be unfrozen. 7. The method as recited in claim 6 , includes said VF driver detecting permission for all VF Partitionable Endpoints (PEs) to be unfrozen, and continuing the error handling recovery. 8. The method as recited in claim 1 , wherein writing adapter and virtual function (VF) configuration data to a scratchpad buffer includes storing the adapter and virtual function (VF) configuration data in persistent data. 9. The method as recited in claim 1 , includes a hardware management console (HMC) notifying a system hypervisor of the updated adapter driver firmware being available. 10. The method as recited in claim 1 , includes using a system hypervisor, managing the scratchpad buffer within the system hypervisor. 11. The method as recited in claim 10 , wherein detaching a current adapter driver, and reloading the adapter driver with an updated adapter driver firmware includes restarting the adapter driver responsive to loading the updated adapter driver firmware, and finding configuration data values from the scratchpad buffer. 12. A system for implementing concurrent device driver maintenance and recovery for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system comprising: a processor; providing a physical function (PF) adjunct including an adapter driver with a hypervisor for managing physical functions and virtual functions of the Single Root Input/Output Virtualization (SRIOV) adapter; each virtual function being associated with a physical function, and the physical function supporting SRIOV capabilities; said hypervisor managing functions associated with the SRIOV adapter; said processor using said hypervisor and said adapter driver to perform the steps of: performing an initialization process including said adapter driver performing adapter and virtual function (VF) configuration, and said adapter driver writing adapter and virtual function (VF) configuration data to a scratchpad buffer; said scratchpad buffer kept in said hypervisor and said scratchpad buffer being completely managed within said hypervisor without requiring external management; responsive to configuration changes being made, said adapter driver updating configuration data in the scratchpad buffer; responsive to adapter driver maintenance being needed, said hypervisor placing each VF driver in a freeze state, said hypervisor detaching a current adapter driver, and said hypervisor reloading the adapter driver with an updated adapter driver firmware; said hypervisor restarting the adapter driver with the updated adapter driver firmware, said adapter driver performing a reinitialization process including restoring adapter and virtual function (VF) configuration using configuration data values read from the scratchpad buffer; and said hypervisor preserving the configuration data in the scratchpad buffer during adapter driver restart for implementing concurrent device driver maintenance and recovery for the Single Root Input/Output Virtualization (SRIOV) adapter. 13. The system as recited in claim 12 , wherein the initialization process includes starting an adapter driver and the adapter driver finding an empty scratchpad buffer. 14. The system as recited in claim 12 , wherein placing each VF driver in a freeze state includes placing all VF Partitionable Endpoints (PEs) in the freeze state. 15. The system as recited in claim 12 , includes the VF driver detecting an error condition responsive to being placed in the freeze state. 16. The system as recited in claim 15 , further includes the VF driver commencing an error handling recovery. 17. The system as recited in claim 12 , wherein performing a reinitialization process includes the adapter driver giving a system hypervisor permission for all VF Partitionable Endpoints (PEs) to be unfrozen. 18. The system as recited in claim 17 , includes said VF driver detecting permission for all VF Partitionable Endpoints (PEs) to be unfrozen, and continuing the error handling recovery. 19. The system as recited in claim 12 , includes said hypervisor completely managing the scratchpad buffer within said hypervisor. 20. The system as recited in claim 12 , includes a hardware management console (HMC) notifying a system hypervisor of the updated adapter driver firmware being available.

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9317317B2 cover?
A method, system and computer program product are provided for implementing concurrent adapter driver maintenance and recovery for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. An adapter driver at start up time performs configuration of the adapter and each of a set of virtual functions (VFs). The adapter driver writes critical adapter and VF configuration dat…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).