On 23/06/2008, at 6:27 PM, Matthew Dillon wrote:

Can it break down and cause excessive lag? Yes, it can. Interactive

   games almost universally have to disable Nagle because the lag is
actually due to the data relay from client 1 -> server then relaying the interactive event to client 2. Without an immediate interactive
   response to client 1 the ack gets delayed and the next event from
client 1 hits Nagle and stops dead in the water until the first event reaches client 2 and client 2 reacts to it (then client 2 -> server -> (abort delayed ack and send) -> client 1 (client 1's nagle now allows
   the second event to be transmitted).  That isn't a deadlock, just
   really poor interactive performance in that particular situation.

Yeah, that's what I'm talking about.

True, it's not really a dead-lock, but it's terribly slow! The interaction can
cause a 200ms delay on a LAN, as can be seen with samba if you disable
tcp_nodelay..


   In anycase, the usual solution is to disable Nagle rather then mess
with delayed acks. What we need is a new Nagle that understands the new reality for interactive connections... something that doesn't break
   performance in the 'server in the middle' data relaying case.


Exactly, there is nothing really wrong with delayed acks.. But with sysctl
I CAN disable and mess with the delayed acks, but I can't seem to do
anything to Nagle.

That's why I was thinking if I could change the Nagle time-out to 0ms it
would effectively disable it..

Cheers.
J.
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to