[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AE90C24D6B3A694183C094C60CF0A2F6D8AEF0@saturn3.aculab.com>
Date: Tue, 29 Nov 2011 17:06:23 -0000
From: "David Laight" <David.Laight@...LAB.COM>
To: "Dave Taht" <dave.taht@...il.com>,
"Eric Dumazet" <eric.dumazet@...il.com>
Cc: "John Fastabend" <john.r.fastabend@...el.com>,
"Tom Herbert" <therbert@...gle.com>, <davem@...emloft.net>,
<netdev@...r.kernel.org>
Subject: RE: [PATCH v4 0/10] bql: Byte Queue Limits
...
> We spent all that engineering time making TCP go fast and minimized
the
> hardware impact of that - why not spend a little more time - in the
> next generation of hw/sw - making TCP work *better* on the network?
One problem I've seen is that a lot of the 'make TCP go fast'
changes have been focused on bulk transfer over long(ish) latency
links - typical for ftp and http downloads.
Interactive (command+response) works moderately, but async
data requests suffer badly.
Typically these connections will have Nagle disabled (because
you can't stand the repeated timeouts), and may be between
very local systems so the RTT is efectively zero and packet
loss unexpected.
Under these conditions the 'slow start' and 'delayed acks'
conspire against you.
What is more, if you have a high request rate there is little
that can be done to merge tx packets, even the sender is
willing to let some data be queued until (say) the next 1ms
clock tick.
I have seen 30000 packets/sec on a single tcp connection!
(The sender doesn't know there is another message to send.)
The sender was a dual, running 'while :; do :; done'
reduced the packet count considerably!
David
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists