Apparatus and method for supporting received data processing in an offload of network protocol processing
First Claim
1. A method, in a data processing system, for transferring data to a host system from a network adapter, comprising:
- receiving, in the network adapter, the data for transferring to the host system;
determining if a connection specific application buffer is allocated for a connection associated with the data;
determining whether to wait for a specific application buffer to be allocated for the connection associated with the data, if a connection specific application buffer has not been allocated for the connection;
selecting a non-connection specific application buffer from a pool of buffers to receive the data if it is determined not to wait for a specific application buffer to be allocated; and
transferring the data to the selected non-connection specific application buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, an improved mechanism for handling receipt of data packets in a system utilizing an offload network adapter. The offload network adapter may include logic that permits the offload network adapter to delay notification of data reception to the host system in different ways. The advantage of delaying the notice of data packet reception to the host system is the potential for aggregation of several data packets, which can arrive immediately after the first one, for example, in a single notification. Given a stream with continuous data packet arrival, a value may be set, either statically or dynamically, for notification delay and this value may be configurable for the host system per communication socket.
-
Citations
36 Claims
-
1. A method, in a data processing system, for transferring data to a host system from a network adapter, comprising:
-
receiving, in the network adapter, the data for transferring to the host system;
determining if a connection specific application buffer is allocated for a connection associated with the data;
determining whether to wait for a specific application buffer to be allocated for the connection associated with the data, if a connection specific application buffer has not been allocated for the connection;
selecting a non-connection specific application buffer from a pool of buffers to receive the data if it is determined not to wait for a specific application buffer to be allocated; and
transferring the data to the selected non-connection specific application buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product in a computer readable medium for transferring data to a host system from a network adapter, comprising:
-
first instructions for receiving, in the network adapter, the data for transferring to the host system;
second instructions for determining if a connection specific application buffer is allocated for a connection associated with the data;
third instructions for determining whether to wait for a specific application buffer to be allocated for the connection associated with the data, if a connection specific application buffer has not been allocated for the connection;
fourth instructions for selecting a non-connection specific application buffer from a pool of buffers to receive the data if it is determined not to wait for a specific application buffer to be allocated; and
fifth instructions for transferring the data to the selected non-connection specific application buffer. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for transferring data to a host system from a network adapter, comprising:
-
means for receiving, in the network adapter, the data for transferring to the host system;
means for determining if a connection specific application buffer is allocated for a connection associated with the data;
means for determining whether to wait for a specific application buffer to be allocated for the connection associated with the data, if a connection specific application buffer has not been allocated for the connection;
means for selecting a non-connection specific application buffer from a pool of buffers to receive the data if it is determined not to wait for a specific application buffer to be allocated; and
means for transferring the data to the selected non-connection specific application buffer. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification