Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Sep 2003 09:38:02 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: TCP Segmentation Offload
Message-ID:  <16220.34362.594825.422966@grasshopper.cs.duke.edu>
In-Reply-To: <20030906090701.A3163@xorpc.icir.org>
References:  <16216.63066.954104.582195@grasshopper.cs.duke.edu> <20030906090701.A3163@xorpc.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16220.34362.594825.422966>