System and method for managing metrics table per virtual port in a logically partitioned data processing system
First Claim
1. A method of managing per-virtual port performance metrics in a logically partitioned data processing system, the method comprising the computer implemented steps of:
- allocating a subset of resources of a physical adapter to a virtual adapter of a plurality of virtual adapters, wherein the subset includes a virtual port having an identifier assigned thereto;
associating the identifier of the virtual port with an address of a physical port;
associating a metric table with the virtual port, wherein the metric table includes metrics of operations that target the virtual port;
allocating a respective subset to each of the plurality of virtual adapters, wherein each subset includes a respective virtual port having an identifier assigned thereto;
wherein associating a metric table further includes;
associating a respective metric table to each virtual port of each of the plurality of virtual adapters;
in response to a request to perform a management operation for a particular virtual port;
determining, by the physical adapter, if the management operation is a read of the particular virtual port'"'"'s metrics;
if the management operation is a read;
reading, by the physical adapter, the particular virtual port'"'"'s metric table;
transferring the particular virtual port'"'"'s metrics and management operation completion results through a direct memory (DMA) operation to the host;
if the management operation is not a read, determining, by the physical adapter, if the management operation is an initialize operation of metrics for the particular virtual port;
if the management operation is an initialize operation, determining if the particular virtual port is an upstream port or a downstream port;
allocating, by the physical adapter, an upstream virtual port table for the particular virtual port if the particular virtual port is an upstream port;
allocating, by the physical adapter, a downstream virtual port table for the particular virtual port if the particular virtual port is an downstream port;
assigning the allocated virtual port table to the particular virtual port;
resetting the particular virtual port'"'"'s metrics to zero in the virtual port table that was allocated for the particular virtual port; and
transferring completion results to the host through a DMA PCI operation;
if the management operation is not an initialize operation, determining if the management operation is a destroy operation;
if the management operation is a destroy operation, destroying the particular virtual port'"'"'s metric table; and
if the management operation is not a destroy operation, resetting the particular virtual port'"'"'s metrics to zero.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, computer program product, and distributed data processing system that allows a single physical I/O adapter, such as a PCI, PCI-X, or PCI-E adapter, to track performance and reliability statistics per virtual upstream and downstream port, thereby allowing a system and network management to be performed at finer granularity than what is possible using conventional physical port statistics, is provided. Particularly, a mechanism of managing per-virtual port performance metrics in a logically partitioned data processing system including allocating a subset of resources of a physical adapter to a virtual adapter of a plurality of virtual adapters is provided. The subset of resources includes a virtual port having an identifier assigned thereto. The identifier of the virtual port is associated with an address of a physical port. A metric table is associated with the virtual port, wherein the metric table includes metrics of operations that target the virtual port.
-
Citations
17 Claims
-
1. A method of managing per-virtual port performance metrics in a logically partitioned data processing system, the method comprising the computer implemented steps of:
-
allocating a subset of resources of a physical adapter to a virtual adapter of a plurality of virtual adapters, wherein the subset includes a virtual port having an identifier assigned thereto; associating the identifier of the virtual port with an address of a physical port; associating a metric table with the virtual port, wherein the metric table includes metrics of operations that target the virtual port; allocating a respective subset to each of the plurality of virtual adapters, wherein each subset includes a respective virtual port having an identifier assigned thereto; wherein associating a metric table further includes; associating a respective metric table to each virtual port of each of the plurality of virtual adapters; in response to a request to perform a management operation for a particular virtual port; determining, by the physical adapter, if the management operation is a read of the particular virtual port'"'"'s metrics; if the management operation is a read; reading, by the physical adapter, the particular virtual port'"'"'s metric table; transferring the particular virtual port'"'"'s metrics and management operation completion results through a direct memory (DMA) operation to the host; if the management operation is not a read, determining, by the physical adapter, if the management operation is an initialize operation of metrics for the particular virtual port; if the management operation is an initialize operation, determining if the particular virtual port is an upstream port or a downstream port; allocating, by the physical adapter, an upstream virtual port table for the particular virtual port if the particular virtual port is an upstream port; allocating, by the physical adapter, a downstream virtual port table for the particular virtual port if the particular virtual port is an downstream port; assigning the allocated virtual port table to the particular virtual port; resetting the particular virtual port'"'"'s metrics to zero in the virtual port table that was allocated for the particular virtual port; and transferring completion results to the host through a DMA PCI operation; if the management operation is not an initialize operation, determining if the management operation is a destroy operation; if the management operation is a destroy operation, destroying the particular virtual port'"'"'s metric table; and if the management operation is not a destroy operation, resetting the particular virtual port'"'"'s metrics to zero. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product that is stored in a computer readable medium for managing per-virtual port performance metrics in a logically partitioned data processing system, the computer program product comprising:
-
instructions that allocate a subset of resources of a physical adapter to a virtual adapter of a plurality of virtual adapters, wherein the subset includes a virtual port having an identifier assigned thereto; instructions that associate the identifier of the virtual port with an address of a physical port; instructions that associate a metric table with the virtual port, wherein the metric table includes metrics of operations that target the virtual port; instructions for allocating a respective subset to each of the plurality of virtual adapters, wherein each subset includes a respective virtual port having an identifier assigned thereto; wherein associating a metric table further includes; instructions for associating a respective metric table to each virtual port of each of the plurality of virtual adapters; in response to a request to perform a management operation for a particular virtual port; instructions for determining, by the physical adapter, if the management operation is a read of the particular virtual port'"'"'s metrics; if the management operation is a read; instructions for reading, by the physical adapter, the particular virtual port'"'"'s metric table; instructions for transferring the particular virtual port'"'"'s metrics and management operation completion results through a direct memory (DMA) operation to the host; if the management operation is not a read, instructions for determining, by the physical adapter, if the management operation is an initialize operation of metrics for the particular virtual port; if the management operation is an initialize operation, instructions for determining if the particular virtual port is an upstream port or a downstream port; instructions for allocating, by the physical adapter, an upstream virtual port table for the particular virtual port if the particular virtual port is an upstream port; instructions for allocating, by the physical adapter, a downstream virtual port table for the particular virtual port if the particular virtual port is an down stream port; instructions for assigning the allocated virtual port table to the particular virtual port; instructions for resetting the particular virtual port'"'"'s metrics to zero in the virtual port table that was allocated for the particular virtual port; and instructions for transferring completion results to the host through a DMA PCI operation; if the management operation is not an initialize operation, instructions for determining if the management operation is a destroy operation; if the management operation is a destroy operation, instructions for destroying the particular virtual port'"'"'s metric table; and if the management operation is not a destroy operation, instructions for resetting the particular virtual port'"'"'s metrics to zero. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A logically partitioned data processing system that manages per-virtual port performance metrics, comprising:
-
a subset of resources of a physical adapter to a virtual adapter of a plurality of virtual adapters, wherein the subset includes a virtual port having an identifier assigned thereto; associating means for associating the identifier of the virtual port with an address of a physical port; a metric table that is associated with the virtual port, wherein the metric table includes metrics of operations that target the virtual port; allocating means for allocating a respective subset to each of the plurality of virtual adapters, wherein each subset includes a respective virtual port having an identifier assigned thereto; wherein associating a metric table further includes; a respective metric table that is associated to each virtual port of each of the plurality of virtual adapters; in response to a request to perform a management operation for a particular virtual port; the physical adapter determining if the management operation is a read of the particular virtual port'"'"'s metrics; if the management operation is a read; the physical adapter reading the particular virtual port'"'"'s metric table; transferring means for transferring the particular virtual port'"'"'s metrics and management operation completion results through a direct memory (DMA) operation to the host; if the management operation is not a read, the physical adapter determining if the management operation is an initialize operation of metrics for the particular virtual port; if the management operation is an initialize operation, determining means for determining if the particular virtual port is an upstream port or a downstream port; the physical adapter allocating an upstream virtual port table for the particular virtual port if the particular virtual port is an upstream port; the physical adapter allocating a downstream virtual port table for the particular virtual port if the particular virtual port is an downstream port; assigning means for assigning the allocated virtual port table to the particular virtual port; resetting means for resetting the particular virtual port'"'"'s metrics to zero in the virtual port table that was allocated for the particular virtual port; and transferring means for transferring completion results to the host through a DMA PCI operation; if the management operation is not an initialize operation, determining means for determining if the management operation is a destroy operation; if the management operation is a destroy operation, destroying means for destroying the particular virtual port'"'"'s metric table; and if the management operation is not a destroy operation, resetting means for resetting the particular virtual port'"'"'s metrics to zero. - View Dependent Claims (15, 16, 17)
-
Specification