Native and Non-Native I/O Virtualization in a Single Adapter
First Claim
1. A method, in a data processing system, for performing input/output (I/O) operations between a host system and an I/O adapter, comprising:
- creating a plurality of virtual functions (VFs) in an I/O adapter of the data processing system;
configuring at least one first VF to support non-native I/O virtualization (IOV) in the I/O adapter;
configuring at least one second VF to support native IOV in the I/O adapter;
performing I/O operations between a host system of the data processing system and the I/O adapter utilizing native IOV and the at least one second VF; and
performing I/O operations between the host system and the I/O adapter utilizing non-native IOV and the at least one first VF.
1 Assignment
0 Petitions
Accused Products
Abstract
Mechanisms for enabling both native and non-native input/output virtualization (IOV) in a single I/O adapter are provided. The mechanisms allow a system with a large number of logical partitions (LPARs) and system images to use IOV to share a native IOV enabled I/O adapter or endpoint that does not implement the necessary number of virtual functions (VFs) for each LPAR and system image. A number of VFs supported by the I/O adapter, less one, are assigned to LPARs and system images so that they may make use of native IOV using these VFs. The remaining VF is associated with a virtual intermediary (VI) which handles non-native IOV of the I/O adapter. Any remaining LPARs and system images share the I/O adapter using the non-native IOV via the VI. Thus, any number of LPARs and system images may share the same I/O adapter or endpoint.
-
Citations
25 Claims
-
1. A method, in a data processing system, for performing input/output (I/O) operations between a host system and an I/O adapter, comprising:
-
creating a plurality of virtual functions (VFs) in an I/O adapter of the data processing system; configuring at least one first VF to support non-native I/O virtualization (IOV) in the I/O adapter; configuring at least one second VF to support native IOV in the I/O adapter; performing I/O operations between a host system of the data processing system and the I/O adapter utilizing native IOV and the at least one second VF; and performing I/O operations between the host system and the I/O adapter utilizing non-native IOV and the at least one first VF. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product comprising a computer useable medium having a computer readable program stored thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
create a plurality of virtual functions (VFs) in an I/O adapter of the data processing system; configure at least one first VF to support non-native I/O virtualization (IOV) in the I/O adapter; configure at least one second VF to support native IOV in the I/O adapter; perform I/O operations between a host system of the data processing system and the I/O adapter utilizing native IOV and the at least one second VF; and perform I/O operations between the host system and the I/O adapter utilizing non-native IOV and the at least one first VF. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 24)
-
-
23. The computer program product of claim 23, wherein the remaining logical partitions share a single second VF.
-
25. A data processing system, comprising:
-
a host system; and an input/output (I/O) adapter coupled to the host system, wherein the host system; creates a plurality of virtual functions (VFs) in an I/O adapter of the data processing system; configures at least one first VF to support non-native I/O virtualization (IOV) in the I/O adapter; configures at least one second VF to support native IOV in the I/O adapter; performs I/O operations between the host system and the I/O adapter utilizing native IOV and the at least one second VF; and performs I/O operations between the host system and the I/O adapter utilizing non-native IOV and the at least one first VF.
-
Specification