From: Rick Jones <rick.jones2@hp.com>
To: netdev@oss.sgi.com
Subject: Re: TCP-Protection is really a pain...
Date: Thu, 03 Feb 2005 12:47:14 -0800 [thread overview]
Message-ID: <42028DD2.2010809@hp.com> (raw)
In-Reply-To: <42028747.6060602@rapidforum.com>
Christian Schmid wrote:
> Offload parameters for eth0:
> rx-checksumming: on
> tx-checksumming: on
> scatter-gather: on
> tcp segmentation offload: on
>
> What exactly is tcp segmentation offload?
TCP Segmentation Offload, aka TSO or in other contexts "large send" can be
thought of as a "poor man's" Jumbo Frame. The NIC advertises to the host that
it can resegment larger TCP segments into sizes apropriate for the network.
This allows the host CPU stack to make fewer trips down the protocol stack to
transfer a given quantity of data, thus reducing the service demand (quantity of
CPU consumed per quantity of work). The reduction in service demand can result
in an increase in throughput if the transfer was previously CPU-bound.
It has the advantage over JumboFrame in that it does not require support in the
rest of the infrastructure (switches, routers, receivers etc). I call it "poor
man's" JumboFrame because it does not reduce the overheads on the receiver - the
receiver still sees just as many "normally" sized segments as before, and sends
just as many ACKs per KB transferred as before.
If a NIC is implemented with a microprocessor (bletch - personal opinion) the
additional demands of TSO resegmenation may actually reduce throughput even as
it greatly reduces server CPU utilization. That was particularly evident in old
Tigon2 NICs. I am not sure if that is noticable in current generation BMC570X's
or not - most of the systems I have at my disposal have BCM5701's in them and
I'm not sure the drivers allow TSO to be enabled on that rev? I've not seen a
drop in maximum throughput on the "e1000" NICs I've played with, which have been
some dual-port cards HP sells. YMMV.
> Where can I read more about it?
In addition to whatever there may be in Linux documentation...
TSO or large send is also a long-standing feature of TCP in AIX and (dare I say
it here?-) Windows. As such IBM and Microsoft may have writeups - I'm pretty
sure that Microsoft had a write-up about it on their website - talking about the
NDIS interface at least. It is also a fairly recent addition to HP-UX, but I am
not sure if there are any writeups about it on HP's websites yet.
>Should I disable it or is this not a good idea?
That depends. If you are concerned about proper slow-start behaviour at the
beginning of a connection you should disable it until you are on a later rev.
I've always wondered if it wouldn't be an interesting experiment with a "real"
server to see if dishonouring slow-start at connection establishment (and there
only, keep it after RTO) made all that much a difference in the host's
retransmission rates...
rick jones
next prev parent reply other threads:[~2005-02-03 20:47 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-03 4:07 TCP-Protection is really a pain Christian Schmid
2005-02-03 4:54 ` Stephen Hemminger
2005-02-03 5:21 ` Christian Schmid
2005-02-03 6:50 ` Jeff Garzik
2005-02-03 17:04 ` Christian Schmid
2005-02-03 19:33 ` Stephen Hemminger
2005-02-03 19:58 ` Christian Schmid
2005-02-03 20:15 ` Stephen Hemminger
2005-02-03 20:19 ` Christian Schmid
2005-02-03 20:47 ` Rick Jones [this message]
2005-02-03 22:13 ` Jeff Garzik
2005-02-03 22:29 ` Christian Schmid
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42028DD2.2010809@hp.com \
--to=rick.jones2@hp.com \
--cc=netdev@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).