Patent ID: 7707589

Claim:
A method to minimize kernel calls in an operating system on a per-socket basis during send and receive operations, the method implemented at least in part by one or more computing devices and comprising: providing by at least one of the one or more computing devices credit to a first transport provider of a sending application, wherein the credit represents available message buffers of a second transport provider for a receiving application; blocking data from being sent by the sending application when no credit is available to the first transport provider; detecting when an event has occurred that triggers a select request, wherein detecting when the event has occurred comprises detecting when the data blocked from being sent becomes unblocked and sendable by the sending application; setting a flag to identify a condition for the select request; checking a count of outstanding select requests associated with the condition; when the count is greater than zero, determining whether there is at least one select request associated with the condition by making a kernel call to take a lock, checking under the lock for one or more individual select requests associated with the condition, and releasing the lock; when there is at least one select request associated with the condition, satisfying the at least one select request; and decrementing the count for the at least one select request.