Subject: Re: RFC: Nagle latency tuning

From: Chris Snook <[email-masked]>
Date: Mon, 22 Sep 2008 18:57:42 -0400

Rick Jones wrote:
>> Indeed.  Setting tcp_delack_min to 0 completely eliminated the 
>> undesired latencies, though of course that would be a bit dangerous 
>> with naive apps talking across the network. 
> 
> What did it do to the packets per second or per unit of work?  Depending 
> on the nature of the race between the ACK returning from the remote and 
> the application pushing more bytes into the socket, I'd think that 
> setting the delayed ack timer to zero could result in more traffic on 
> the network (those bare ACKs) than simply setting TCP_NODELAY at the 
> source.
> 
> And since with small packets and/or copy avoidance an ACK is 
> (handwaving) just as many CPU cycles at either end as a data segment 
> that also means a bump in CPU utilization.
> 
> rick jones

I never saw performance go down, but I was always using low latency/high 
bandwidth loopback or LAN connection, with only one socket per CPU.

I agree though, that turning this off is suboptimal.  I'm going to pursue 
David's idea of making delack_min and ato_min dynamically calculated by the kernel.

-- Chris