TCP Segmentation Offload

Andrew Gallatin gallatin at cs.duke.edu
Mon Sep 8 06:38:10 PDT 2003


Luigi Rizzo writes:
 > On Fri, Sep 05, 2003 at 04:47:22PM -0400, Andrew Gallatin wrote:
 > > 
 > > I've been reading a little about TCP Segmentation Offload (aka TSO).
 > > We don't appear to support it, but at least 2 of our supported nics
 > > (e1000 and bge) apparently could support it.
 > 
 > i believe there is more commercial hype than actual savings in doing
 > TCP Segmentation Offload.
 > 
 > With delayed acks (or better, "ack every second packet"),
 > the sender's TCP typically sends out two
 > packets at a time. Without delayed acks, it is just one at a
 > time. So yes, you avoid looping in tcp_output() twice, but

I think that the loop in tcp_output() is not such a big deal.  IMHO,
the bigger savings is from not making extra trips through the driver,
and from allowing the adapter to perform a smaller number of large
DMAs.  

Naturally, this is all just speculation until there's an actual
implementation which can be profiled ;)

Drew



More information about the freebsd-net mailing list