Subject: Re: Possible BUG in IPv4 TCP window handling, all recent 2.4.x/2.6.x kernels

From: John Heffner <[email-masked]>
Date: Fri, 2 Sep 2005 10:48:01 -0400

On Sep 2, 2005, at 10:33 AM, [email-masked] wrote:

> On Fri, 2 Sep 2005, John Heffner wrote:
>
>> Have you tried increasing the size of the receive buffer yet?
>
> Actually, I just did. I changed rmem_max and rmem_default to 4MB and 
> tcp_rmem to "64k 4MB 4MB". It did seem to help, but I'm wondering if 
> that's simply because it has a _lot_ of memory now to leak before it 
> starts eating up into the window size.

If it is window clamping, then you should be asymptotically approaching 
a ratio between receive buffer and window that corresponds (with a 
fudge factor) to the ratio between TCP segment data size and allocated 
packet size.  If you make the receive buffer large enough, then the 
clamped window should still end up big enough.  Also, since you have 
"real time" data, a larger receive buffer should probably be adequate 
to eliminate this problem, since it only occurs when the receiving 
application falls behind for a while, and a bigger receive buffer 
allows it to fall behind more without triggering the window clamping.

   -John