A method, system and computer program product are provided for implementing configuration preserving relocation of a Single root input/Output Virtualization (sriov) adapter in a computer system. At system power on an sriov adapter having been relocated to a different slot while the system was powered off is automatically detected, and the configuration data associated with the adapter automatically updated so that it remains associated with the adapter in the adapter's new location.
|
1. A method for implementing configuration preserving relocation of a Single root input/Output Virtualization (sriov) adapter in a computer system comprising:
checking at power on and automatically detecting at system power on an sriov adapter having been relocated to a different slot while the system was powered off using an identifier of the sriov adapter and an identifier of the slot stored in sriov configuration data,
adding reference to an sriov configuration data resolution list responsive to the detected relocated adapter;
automatically updating configuration data associated with the sriov adapter with the identifier of the different slot for remaining associated with the relocated adapter to the different slot using said sriov configuration data resolution list without user intervention by addressing an element on said sriov configuration data resolution list and accessing a PF device driver for a first sriov adapter and accessing said identifier of the sriov adapter and said identifier of the slot stored in sriov configuration data;
addressing and processing each element on said sriov configuration data resolution list;
notifying a user of any unresolved sriov configuration data from said sriov configuration data resolution list;
storing the identifier of the sriov adapter and the identifier of the different slot with the sriov configuration data associated with the sriov adapter in persistent data:
identifying existing stored sriov configuration data associated with the identifier of the different slot, clearing the slot identifier in the identified existing stored sriov configuration data and marking the existing stored sriov configuration data as homeless, and adding reference to said sriov configuration data resolution list responsive to the identified existing stored sriov configuration data; and
addressing and processing each element on said sriov configuration data resolution list to continue automatically updating configuration data.
11. A system for implementing configuration preserving relocation of a Single root input/Output Virtualization (sriov) adapter in a computer system comprising:
a processor;
a hypervisor managing functions associated with the sriov adapter;
said processor using said hypervisor to perform the steps of:
checking at power on and automatically detecting at system power on an sriov adapter having been relocated to a different slot while the system was powered off using an identifier of the sriov adapter and an identifier of the slot stored in sriov configuration data,
adding reference to an sriov configuration data resolution list responsive to the detected relocated adapter;
automatically updating configuration data associated with the sriov adapter with the identifier of the different slot for remaining associated with the relocated adapter to the different slot using said sriov configuration data resolution list without user intervention by addressing an element on said sriov configuration data resolution list and accessing a PF device driver for a first sriov adapter and accessing said identifier of the sriov adapter and said identifier of the slot stored in sriov configuration data;
addressing and processing each element on said sriov configuration data resolution list;
notifying a user of any unresolved sriov configuration data from said sriov configuration data resolution list;
storing the identifier of the sriov adapter and the identifier of the different slot with the sriov configuration data associated with the sriov adapter in persistent data;
identifying existing stored sriov configuration data associated with the identifier of the different slot, clearing the slot identifier in the identified existing stored sriov configuration data and marking the existing stored sriov configuration data as homeless, and adding reference to said sriov configuration data resolution list responsive to the identified existing stored sriov configuration data; and
addressing and processing each element on said sriov configuration data resolution list to continue automatically updating configuration data.
2. The method as recited in
3. The method as recited in
4. The method as recited in
5. The method as recited in
6. The method as recited in
7. The method as recited in
8. The method as recited in
9. The method as recited in
10. The method as recited in
12. The system as recited in
13. The system as recited in
14. The system as recited in
15. The system as recited in
16. The system as recited in
17. The system as recited in
18. The system as recited in
19. The system as recited in
|
The present invention relates generally to the data processing field, and more particularly, relates to a method, system and computer program product for implementing configuration preserving relocation of a Single Root Input/Output Virtualization (SRIOV) adapter.
SRIOV (Single Root Input/Output Virtualization) is an I/O adapter virtualization architecture that allows a single I/O adapter to be shared among multiple logical partitions. The adapter is presented as one or more physical functions (PFs) that control functions such as adapter level reset and offload engines that span the entire adapter, and a set of virtual functions (VFs) each of which represents a slice of the adapter capacity that can be assigned to a logical partition independently of other VFs.
There can be a large number of VFs configured for a particular adapter, in addition to adapter level configuration such as physical port attributes. The configuration associated with a given SRIOV adapter (i.e. VFs including logical port attributes and VF to logical partition assignment, physical port attributes, and the like) can be large and complex representing a significant effort on the part of the system administrator, and can evolve over time as workload demands increase.
There are times when it is beneficial or necessary to move adapters to different slots in the system. For example, IBM Power Systems allow a user to add capacity by adding additional I/O expansion units, GX++ adapters, and/or processor books/drawers. When additional capacity is added, overall system performance may be improved by relocating existing adapters so as to spread existing adapters evenly over the existing and new capacity.
Thus, there is a need to be able to move an SRIOV adapter to a different slot and preserve the configuration associated with it, ideally without user intervention. This is in contrast to requiring the administrator to delete or remove the configuration associated with the source slot, and then recreate it for the destination slot.
A need exists for an effective mechanism to enable configuration preserving relocation of a Single Root Input/Output Virtualization (SRIOV) adapter.
Principal aspects of the present invention are to provide a method, system and computer program product for implementing configuration preserving relocation of Single Root Input/Output Virtualization (SRIOV) adapter. Other important aspects of the present invention are to provide such method, system and computer program product substantially without negative effects and that overcome many of the disadvantages of prior art arrangements.
In brief, a method, system and computer program product are provided for implementing configuration preserving relocation of a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. At system power on time, an SRIOV adapter having been relocated to a different slot while the system was powered off is automatically detected, and the configuration data associated with the adapter automatically updated so that it remains associated with the adapter in the adapter's new slot location.
In accordance with features of the invention, the SRIOV adapter having been relocated to a different slot also is identified at slot power on time.
In accordance with features of the invention, the configuration data includes an identifier of the slot in which the associated SRIOV adapter resides, a serial number of the associated SRIOV adapter in the slot, and a peripheral component interface (PCI) ID of the associated SRIOV adapter in the slot.
In accordance with features of the invention, a system hypervisor at system power on time automatically detects that an SRIOV adapter was relocated to a different slot includes identifying all instances of SRIOV configuration data where the data is associated with a slot in which there is no adapter, or the PCI ID stored in the configuration data does not match the PCI ID of the adapter in the slot with which the configuration data is associated, or the serial number stored in the configuration data does not match the serial number of the adapter in the slot with which the configuration data is associated.
In accordance with features of the invention, for each instance of SRIOV configuration data identified where an SRIOV adapter was automatically detected as being relocated to a different slot, all SRIOV capable adapters in the system are inspected looking for one with PCI ID and serial number that match the PCI ID and serial number in the configuration data.
In accordance with features of the invention, for each instance of SRIOV configuration data identified where the PCI ID and serial number match the PCI ID and serial number of an SRIOV capable adapter in a slot that is different than the one with which the configuration data is associated, the slot identifier is set in the configuration data to the identifier of the slot in which the associated adapter now resides and the configuration data is disassociated from original slot and associated with new slot.
In accordance with features of the invention, the system hypervisor manages the physical functions (PFs) associated with the SRIOV adapter. There are one or more PF device drivers per SRIOV adapter that manages the PFs for the adapter. The PF device drivers extend the capability of the hypervisor by providing device driver like capabilities for the PFs associated with a particular flavor of SRIOV adapter. The primary PF device driver must be started in order to read the adapter serial number.
In accordance with features of the invention, the SRIOV configuration data is stored in persistent data. The SRIOV configuration data is read from persistent data and placed in main memory with an initial program load (IPL) of the hypervisor. During runtime, the hypervisor keeps the cached and persisted copies current.
The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which illustrate example embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In accordance with features of the invention, a method, system and computer program product are provided for implementing configuration preserving relocation of a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. At system power on time, an SRIOV adapter having been relocated to a different slot while the system was powered off is automatically detected, and the configuration data associated with the adapter is automatically updated so that it remains associated with the adapter in the adapter's new slot location.
Having reference now to the drawings, in
As shown, each logical partitions LP1 through LP4, 106 owns a virtual function (VF) device driver, respectively shown as VF1A, 110, device driver, VF1B, 110, device driver, VF2A, 110, device driver, and VF2B, 110 device driver; each of which represents a slice of the adapter capacity that can be assigned to a logical partition independently of other VFs.
Computer system 100 includes a plurality of slots C1, 122, C2, 124, C3, 126, and C4, 128. Each of the slots C1, 122, C2, 124, C3, 126, and C4, 128 includes a respective slot ID, shown as ID 21010120; ID 21010121; ID 21010122; and ID 21010123.
Computer system 100 includes a hypervisor 130. As shown in the hypervisor 130 are adapter A, PF device driver 132, and adapter B, PF device driver 134 and SRIOV configuration data 136, 138 for each of the SRIOV shared mode adapters A, 104, and B, 104. The SRIOV configuration data 136, 138 includes an identifier of the slot in which the associated SRIOV adapter resides, a PCI ID of the associated SRIOV adapter in the slot, and a serial number of the associated SRIOV adapter in the slot, with example values shown. It should be understood that the PCI ID and serial number together are used to uniquely identify the adapter, while various other ways for uniquely identifying the adapter can be used.
Note that the configuration data values shown in the SRIOV configuration data 136, 138 are examples and have been abbreviated in some cases to better fit in the drawing
As shown in
In accordance with features of the invention,
As shown in
Computer system 100 is shown in simplified form sufficient for understanding the present invention. The illustrated computer system 100 is not intended to imply architectural or functional limitations. The present invention can be used with various hardware implementations and systems and various other internal hardware devices.
Referring to
As indicated in a decision block 308, checking is performed to identify if there are instances of SRIOV adapter configuration data. When there are no instances of SRIOV adapter configuration data, then the operations are done as indicated in a block 310. Otherwise when there are instances of SRIOV adapter configuration data, then PF device drivers for all SRIOV capable adapters in the system are created as indicated in a block 312 when the process is initiated via block 302, or the PF device driver for the SRIOV capable adapter in slot C4 is created as indicated in a block 314 when the process is initiated via block 306. The first or next instance of SRIOV configuration data is accessed as indicated in a block 316.
As indicated in a decision block 318, checking is performed to identify if there is an adapter in associated slot and if the PCI ID of the adapter matches the PCI ID in the configuration data, and if the serial number of the adapter match the serial number of the configuration data. When matching is not identified, then a reference is added to configuration data to the SRIOV configuration data resolution list as indicated in a block 320. Otherwise, when matching is identified, then checking is performed to identify if there are more instances of SRIOV adapter configuration data as indicated in a decision block 322. When there is a further instance of SRIOV adapter configuration data, then the operations return to block 316 and continue. When there are no further instances of SRIOV adapter configuration data, then the operations continue in
Referring to
As indicated in a block 332 in
Referring to
Referring to
In
Referring now to
A sequence of program instructions or a logical assembly of one or more interrelated modules defined by the recorded program means 404, 406, 408, and 410, direct the computer system 400 for implementing configuration preserving relocation of a Single Root Input/Output Virtualization (SRIOV) adapter of the preferred embodiment.
While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.
Eide, Curtis S., Wendzel, Kevin, Graham, Charles S., Manges, Mark G.
Patent | Priority | Assignee | Title |
11513989, | Jun 09 2020 | Silicon Motion, Inc. | Method and computer program product and apparatus for producing solid state disk devices |
12105652, | Apr 27 2022 | Dell Products L P; Dell Products L.P. | Validation of component placement in an information handling system |
Patent | Priority | Assignee | Title |
5253344, | Sep 05 1991 | International Business Machines Corp.; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK | Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system |
6208345, | Apr 15 1998 | CommScope EMEA Limited; CommScope Technologies LLC | Visual data integration system and method |
6243774, | Jun 30 1998 | International Business Machines Corporation | Apparatus program product and method of managing computer resources supporting concurrent maintenance operations |
6704737, | Oct 18 1999 | Fisher-Rosemount Systems, Inc. | Accessing and updating a configuration database from distributed physical locations within a process control system |
7233975, | Aug 19 2002 | Juniper Networks, Inc. | Private configuration of network devices |
7376719, | Apr 14 2004 | Juniper Networks, Inc. | Automatic generation of configuration data using implementation-specific configuration policies |
7743189, | May 05 2008 | International Business Machines Corporation | PCI function south-side data management |
8301806, | Nov 24 2010 | International Business Machines Corporation | Configuring an input/output adapter |
20020053044, | |||
20030177344, | |||
20060083217, | |||
20080147904, | |||
20090133016, | |||
20090177878, | |||
20100169507, | |||
20110078299, | |||
20110078337, | |||
20120102490, | |||
20120131157, | |||
20120150816, | |||
20120167085, | |||
20120179932, | |||
20120191884, | |||
20120215941, | |||
20120218990, | |||
20120297379, | |||
20120311222, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 01 2013 | MANGES, MARK G | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029940 | /0900 | |
Mar 01 2013 | WENDZEL, KEVIN | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029940 | /0900 | |
Mar 05 2013 | GRAHAM, CHARLES S | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029940 | /0900 | |
Mar 06 2013 | EIDE, CURTIS S | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029940 | /0900 | |
Mar 07 2013 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 29 2020 | REM: Maintenance Fee Reminder Mailed. |
Dec 14 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Nov 08 2019 | 4 years fee payment window open |
May 08 2020 | 6 months grace period start (w surcharge) |
Nov 08 2020 | patent expiry (for year 4) |
Nov 08 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 08 2023 | 8 years fee payment window open |
May 08 2024 | 6 months grace period start (w surcharge) |
Nov 08 2024 | patent expiry (for year 8) |
Nov 08 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 08 2027 | 12 years fee payment window open |
May 08 2028 | 6 months grace period start (w surcharge) |
Nov 08 2028 | patent expiry (for year 12) |
Nov 08 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |