From: Wenji Wu <[email protected]> Greetings, For Linux TCP, when the network applcaiton make system call to move data from socket's receive buffer to user space by calling tcp_recvmsg(). The socket will be locked. During the period, all the incoming packet for the TCP socket will go to the backlog queue without being TCP processed. Since Linux 2.6 can be inerrupted mid-task, if the network application expires, and moved to the expired array with the socket locked, all the packets within the backlog queue will not be TCP processed till the network applicaton resume its execution. If the system is heavily loaded, TCP can easily RTO in the Sender Side. Attached is the patch 1/4 best regards, wenji Wenji Wu Network Researcher Fermilab, MS-368 P.O. Box 500 Batavia, IL, 60510 (Email): [email protected] (O): 001-630-840-4541
Attachment:
tcp.c.patch
Description: Binary data
- Follow-Ups:
- Re: [patch 1/4] - Potential performance bottleneck for Linxu TCP
- From: David Miller <[email protected]>
- [patch 2/4] - Potential performance bottleneck for Linxu TCP
- From: Wenji Wu <[email protected]>
- Re: [patch 1/4] - Potential performance bottleneck for Linxu TCP
- References:
- Prev by Date: [Changelog] - Potential performance bottleneck for Linxu TCP
- Next by Date: [patch 2/4] - Potential performance bottleneck for Linxu TCP
- Previous by thread: [Changelog] - Potential performance bottleneck for Linxu TCP
- Next by thread: [patch 2/4] - Potential performance bottleneck for Linxu TCP
- Index(es):