Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: net.inet.tcp.delayed_ack value?




On 8-Mar-08, at 21:22 , Greg Shenaut wrote:

On Mar 8, 2008, at 4:22 PM, Andre-John Mas wrote:

I recently came across this hint at MacOS X hints, suggesting a solution to speed up Airport transfer speeds:

http://www.macosxhints.com/article.php?story=20080305053403936

Basically it suggests entering the following:

sudo sysctl -w net.inet.tcp.delayed_ack=0

From what I have been told this current setting is based on Nagle's algorithm, but reading up on it at Wikipedia I see:

"This algorithm interacts badly with TCP delayed acknowledgments, a feature introduced into TCP at roughly the same time in the early 1980s, but by a different group. With both algorithms enabled, applications which do two successive writes to a TCP connection, followed by a read, experience a constant delay of up to 500 milliseconds, the "ACK delay". For this reason, TCP implementations usually provide applications with an interface to disable the Nagle algorithm. This is typically called the TCP_NODELAY option."

A responder to the MacOS X Hints article states:

"This bug has been documented for quite some time now, and NetBSD fixed".

Is the current approach indeed outdated, needing borrowing changes from the NetBSD stack, or are there particular scenarios the NetBSD implementation handles badly?

I don't know if you've seen this: <http://www.stuartcheshire.org/papers/NagleDelayedAck/ > but it's a very interesting read, and it explains exactly what is going on with the delay.

Thanks. If I understand this rightly using a double-buffering approach would be better and given this option this would suggest that Darwin doesn't use this as part of its network implementation? If this is indeed the case, has anyone looked at reworking this?


Andre
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden
References: 
 >net.inet.tcp.delayed_ack value? (From: Andre-John Mas <email@hidden>)
 >Re: net.inet.tcp.delayed_ack value? (From: Greg Shenaut <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.