Copy of memory information from a guest transmit descriptor from a free pool and assigned an intermediate state to a tracking data structure
AssigneeHewlett Packard Enterprise Development LP
InventorsSourav Roy, Sathish Kumar Raju
Life of this patent
Estimating the term…
Abstract
Examples include the copy of memory information from a transmit descriptor to a tracking data structure. Some examples include the memory information being copied from a guest transmit descriptor to a tracking data structure of the guest OS and assignment of the guest transmit descriptor back to a free pool, in response to a determination that the guest transmit descriptor is assigned to an intermediate state.
Claims15
An article comprising at least one non-transitory machine-readable storage medium comprising instructions executable by at least one processing resource to execute a guest operating system (OS) virtual network driver to:
- allocate, from a free pool, a guest transmit descriptor of the guest OS for transmission of data by the guest OS virtual network driver via a hypervisor associated with the guest OS, the allocation including assigning a busy state to the guest transmit descriptor;
- notify the hypervisor of the allocated guest transmit descriptor;
- after the notification, determine that the guest transmit descriptor is assigned an intermediate state different than the busy state;
- in response to the determination, copy memory information stored in the guest transmit descriptor to a tracking data structure of the guest OS and assign the guest transmit descriptor back to the free pool;
- and
- after the assignment of the guest transmit descriptor back to the free pool, and in response to an indication that a transmit complete notification was provided for the data, deallocate memory referenced by the memory information copied from the guest transmit descriptor to the tracking data structure, including memory storing the data.
A host computing device comprising:
- a network interface;
- memory to store instructions to implement a guest operating system (OS) virtual network driver and a hypervisor;
- and
- at least one processing resource to execute the instructions;
- wherein the hypervisor instructions are executable to:
- based on a given guest transmit descriptor of the guest OS that is assigned a busy state and associated with data for transmission, instruct the host computing device to transmit the data via the network interface;
- and
- after the instruction and before receiving a transmit complete notification for the data, change the state of the given guest transmit descriptor to an intermediate state;
- and
- wherein the guest OS virtual network driver instructions are executable to:
- in response to a determination that the given guest transmit descriptor is assigned the intermediate state:
- copy memory information from the given guest transmit descriptor to a tracking data structure of the guest OS;
- and
- assign the given guest transmit descriptor to a free pool of guest transmit descriptors for the guest OS;
- and
- after the assignment to the free pool and in response to an indication that a transmit complete notification was provided for the data, deallocate memory referenced by the memory information copied from the given guest transmit descriptor to the tracking data structure.
A method of a host computing device comprising:
- with a guest operating system (OS) virtual network driver of a guest OS of the host computing device:
- allocating, for transmission of first data, a given guest transmit descriptor from a free pool of a circular list of a predetermined number of guest transmit descriptors of the guest OS, the allocating including assigning a busy state to the given guest transmit descriptor;
- notifying a hypervisor associated with the guest OS of the given guest transmit descriptor allocated and assigned the busy state;
- in response to determining that the given guest transmit descriptor is assigned an intermediate state different than the busy state:
- copying memory information stored in the given guest transmit descriptor to a tracking data structure of the guest OS;
- and
- assigning the given guest transmit descriptor back to the free pool;
- and
- from the free pool, reallocating the given guest transmit descriptor for transmission of second data, prior to any indication that a transmit complete notification has been provided for the first data;
- and
- in response to an indication that a transmit complete notification has been provided for the first data, deallocating memory referenced by the memory information copied from the given guest transmit descriptor to the tracking data structure.
Dependencies are inferred from the claim text.