Efficient send socket call handling by a transport layer
First Claim
1. A method for efficient handling of a send socket call received at a transport layer of a network protocol stack of a computer system, comprising:
- responsive to receiving said send socket call for data of a specified length at said transport layer and detecting insufficient memory for a single memory allocation to a buffer in said transport layer for at least said specified length, blocking said send socket call at said transport layer; and
only waking said send socket call upon detection of sufficient memory for said single memory allocation of at least said specified length within said buffer in said transport layer, wherein waking said send socket call triggers a kernel to perform said single memory allocation of said at least said specified length in said buffer and to write said data to said single memory allocation in a single pass.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and program provide for efficient send socket call handling by a transport layer. A transport layer of a network protocol stack receives a send socket call for data of a specified length from an application layer. Responsive to detecting that there is insufficient memory for a single memory allocation to a buffer in the transport layer for at least the specified length, the transport layer blocks the send socket call. The transport layer only wakes the send socket call upon detection of sufficient memory for the single memory allocation within the buffer of the transport layer for at least the specified length, wherein waking the send socket call triggers a kernel to perform the single memory allocation in the buffer and to write the data to the single memory allocation in a single pass.
-
Citations
20 Claims
-
1. A method for efficient handling of a send socket call received at a transport layer of a network protocol stack of a computer system, comprising:
-
responsive to receiving said send socket call for data of a specified length at said transport layer and detecting insufficient memory for a single memory allocation to a buffer in said transport layer for at least said specified length, blocking said send socket call at said transport layer; and
only waking said send socket call upon detection of sufficient memory for said single memory allocation of at least said specified length within said buffer in said transport layer, wherein waking said send socket call triggers a kernel to perform said single memory allocation of said at least said specified length in said buffer and to write said data to said single memory allocation in a single pass. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for efficient handling of a send socket call, comprising:
-
a computer system enabled for communication over a network by a network protocol stack comprising at least a transport layer for receiving said send socket call;
said transport layer comprising means for blocking said send socket call, responsive to receiving said send socket call for data of a specified length and detecting insufficient memory for a single memory allocation to a buffer in said transport layer for at least said specified length; and
said transport layer comprising means for only waking said send socket call upon detection of sufficient memory for said single memory allocation of at least said specified length within said buffer in said transport layer, wherein waking said send socket call triggers a kernel to perform said single memory allocation of said at least said specified length in said buffer and to write said data to said single memory allocation in a single pass. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A program for efficient handling of a send socket call received at a transport layer of a network protocol stack, said program embodied in a computer-readable medium, said program comprising computer-executable instructions which cause a computer to perform the steps of:
-
controlling blocking of said send socket call, responsive to receiving said send socket call for data of a specified length and detecting insufficient memory for a single memory allocation to a buffer for at least said specified length; and
controlling waking of said send socket call only upon detection of sufficient memory for said single memory allocation of at least said specified length within said buffer, wherein waking said send socket call triggers a kernel to perform said single memory allocation of said at least said specified length in said buffer and to write said data to said single memory allocation in a single pass. - View Dependent Claims (18, 19, 20)
-
Specification