Remote direct memory access adapter state migration in a virtual environment
First Claim
Patent Images
1. A method comprising:
- partitioning, by a virtual machine monitor running on a system, a plurality of remote direct memory access context objects among a plurality of virtual functions provided by a physical function of an input/output device in the system, including partitioning an onboard memory space of a network adapter into a plurality of regions, assigning a first region to a first of the plurality of virtual functions for storage of a portion of the plurality of remote direct memory access context objects, storing a segment table in a segment table space in the network adapter, storing at least a first remote direct memory access context object in the first memory region at a location referenced by a first entry in the segment table, and assigning the first entry to the first virtual function;
establishing, by a guest software running on the system, a remote direct memory access connection between the first of the plurality of virtual functions and a remote peer using the network adapter;
allocating a second region in the onboard memory space to a second of the plurality of virtual functions; and
migrating the remote direct memory access connection from the first of the plurality of virtual functions to the second of the plurality of virtual functions without disconnecting from the remote peer, the migrating including copying contents of the first region to the second region so that reassignment of the first virtual function context objects to the second virtual function is transparent to the guest software.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment of the present invention, a method includes partitioning a plurality of remote direct memory access context objects among a plurality of virtual functions, establishing a remote direct memory access connection between a first of the plurality of virtual functions, and migrating the remote direct memory access connection from the first of the plurality of virtual functions to a second of the plurality of virtual functions without disconnecting from the remote peer.
18 Citations
6 Claims
-
1. A method comprising:
-
partitioning, by a virtual machine monitor running on a system, a plurality of remote direct memory access context objects among a plurality of virtual functions provided by a physical function of an input/output device in the system, including partitioning an onboard memory space of a network adapter into a plurality of regions, assigning a first region to a first of the plurality of virtual functions for storage of a portion of the plurality of remote direct memory access context objects, storing a segment table in a segment table space in the network adapter, storing at least a first remote direct memory access context object in the first memory region at a location referenced by a first entry in the segment table, and assigning the first entry to the first virtual function; establishing, by a guest software running on the system, a remote direct memory access connection between the first of the plurality of virtual functions and a remote peer using the network adapter; allocating a second region in the onboard memory space to a second of the plurality of virtual functions; and migrating the remote direct memory access connection from the first of the plurality of virtual functions to the second of the plurality of virtual functions without disconnecting from the remote peer, the migrating including copying contents of the first region to the second region so that reassignment of the first virtual function context objects to the second virtual function is transparent to the guest software. - View Dependent Claims (2)
-
-
3. A system comprising:
-
a host memory; an input/output device including a first of a plurality of virtual functions; a processor to execute a virtual machine monitor to partition a plurality of remote direct memory access context objects among the plurality of virtual functions, including partitioning a space in an onboard memory of a network adapter into a plurality of regions, assigning a first region to the first of the plurality of virtual functions for storage of a portion of the plurality of remote direct memory access context objects, storing a segment table in a segment table space in the network adapter, storing at least a first remote direct memory access context object in the first memory region at a location referenced by a first entry in the segment table, and assigning the first entry to the first virtual function; and the network adapter to establish a remote direct memory access connection between the first virtual function and a remote peer, and to migrate the remote direct memory access connection from the first virtual function to a second virtual function without disconnecting from the first peer, the migrating to include copying contents of the first memory region to the second memory region so that reassignment of the first virtual function context objects to the second virtual function is transparent to a guest software. - View Dependent Claims (4)
-
-
5. An apparatus comprising:
-
a memory to store a segment table to be partitioned among a plurality of virtual functions, the segment table including a plurality of entries, each entry to refer to one of a plurality of locations in an onboard memory of a network adapter, each location to store at least one of a plurality of remote direct memory access context objects, the plurality of entries including a first entry to reference a first location of the plurality of locations in the onboard memory, the first location in a first of a plurality of regions in the onboard memory, the first region to store a first of the plurality of remote direct memory access context objects, the first entry to be assigned to a first virtual function of the plurality of virtual functions; and the network adapter, to establish a remote direct memory access connection between the first virtual function and a remote peer, and to migrate the remote direct memory access connection from the first virtual function to a second virtual function without disconnecting from the first peer, the migrating to include copying contents of the first memory region to a second memory region allocated to second virtual function context objects so that reassignment of the first virtual function context objects to the second virtual function is transparent to a guest software. - View Dependent Claims (6)
-
Specification