[e2e] Are Packet Trains / Packet Bursts a Problem in TCP?
rick jones
perfgeek at mac.com
Fri Sep 29 08:49:34 PDT 2006
> It's obvious that doing hardware TSO for say an 8 K data chunk, i.e. 5
> segments, provides great savings in terms of CPU cycles and I/O bus
> utilization spent on transmitting TCP streams. But what is the
> performance
> gain for going up from 8 K / 5 segment TSO to 64 K / 44 segment bursts,
> knowing that bursts that large clearly coudl be a double-edged sword?
One of those wonderful "it depends" sorts of things. If you have
zero-copy, the diminishing returns are father out than if there is
still a non-trivial per-byte cost (eg from copying from user to
kernel). CKO and zero-copy address per-byte costs, TSO the per-packet.
And as the TSO offload is increased, ACK processing becomes a greater
and greater percentage of the CPU overhead, which gives rise to
incentives for ACK avoidance heuristics :)
> In other words, how large the TSO bursts could be considered tolerable
> and
> justified - roughly where should we draw the line?
There is no line - at least not in the sense that we can say
categorically "N burst good, M burst bad" because it will vary with the
conditions. I'm content to let the admin have control over the maximum
size of the TSO offload, the routers drop packets and/or set ECN, and a
congestion control algorithm to keep things from melting and leave it
at that.
rick jones
there is no rest for the wicked, yet the virtuous have no pillows
More information about the end2end-interest
mailing list