Direct memory access with minimal host interruption
AssigneeInternational Business Machines Corporation
InventorsDouglas N. Lin, Thomas D. Moore, Bruce H. Ratcliff, Jerry W. Stevens, Stephen R. Valley
Life of this patent
Estimating the term…
Abstract
Data received over a shared network interface is directly placed by the shared network interface in a designated memory area of a host. In providing this direct memory access, the incoming data packets are split, such that the headers are separated from the data. The headers are placed in a designated area of a memory buffer of the host. Additionally, the data is stored in contiguous locations within the buffer. This receive and store is performed without interruption to the host. Then, at a defined time, the host is interrupted to indicate the receipt and direct storage of the data.
Claims20
A computer program product for managing incoming data of a computing environment, the computer program product comprising:
- a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- receiving, by a shared network interface of the computing environment from a host of the computing environment, a specification of an amount of data to be received by the shared network interface and provided to memory of the host as the data is received absent notifying the host of receipt of the specified amount of data until the specified amount of data has been provided to the host;
- receiving data by the shared network interface, the received data comprising at least a portion of the specified amount of data to be provided to the host of the computing environment;
- determining, based on receiving the data, whether receive processing associated with the received data is to be performed by the shared network interface or by the host;
- performing the receive processing by the shared network interface, based on the determining indicating that the shared network interface is to perform the receive processing, wherein the host is relieved of performing the receive processing and wherein performing the receive processing comprises placing the received data into the host memory as the data is received and absent notification to the host that the received data was placed into the host memory until the specified amount of data has been provided to the host;
- and
- based on performing receive processing for the specified amount of data, notifying the host of provision of the specified amount of data.
A computer system for managing incoming data of a computing environment, the computer system comprising:
- a memory;
- and
- a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- receiving, by a shared network interface of the computing environment from a host of the computing environment, a specification of an amount of data to be received by the shared network interface and provided to memory of the host as the data is received;
- absent notifying the host of receipt of the specified amount of data until the specified amount of data has been provided to the host;
- receiving data by the shared network interface, the received data comprising at least a portion of the specified amount of data to be provided to the host of the computing environment;
- determining, based on receiving the data, whether receive processing associated with the received data is to be performed by the shared network interface or by the host;
- performing the receive processing by the shared network interface, based on the determining indicating that the shared network interface is to perform the receive processing, wherein the host is relieved of performing the receive processing and wherein performing the receive processing comprises placing the received data into the host memory as the data is received and absent notification to the host that the received data was placed into the host memory until the specified amount of data has been provided to the host;
- and
- based on performing receive processing for the specified amount of data, notifying the host of provision of the specified amount of data.
A method of managing incoming data of a computing environment, said method comprising:
- receiving, by a shared network interface of the computing environment from a host of the computing environment, a specification of an amount of data to be received by the shared network interface and provided to memory of the host as the data is received absent notifying the host of receipt of the specified amount of data until the specified amount of data has been provided to the host;
- receiving data by the shared network interface, the received data comprising at least a portion of the specified amount of data to be provided to the host of the computing environment;
- determining, based on receiving the data, whether receive processing associated with the received data is to be performed by the shared network interface or by the host;
- performing the receive processing by the shared network interface, based on the determining indicating that the shared network interface is to perform the receive processing, wherein the host is relieved of performing the receive processing and wherein performing the receive processing comprises placing the received data into the host memory as the data is received and absent notification to the host that the received data was placed into the host memory until the specified amount of data has been provided to the host;
- and
- based on performing receive processing for the specified amount of data, notifying the host of provision of the specified amount of data.
Dependencies are inferred from the claim text.