netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: leonid.grossman@neterion.com
Cc: netdev@oss.sgi.com
Subject: Re: [PATCH] Super TSO
Date: Thu, 19 May 2005 17:21:07 -0700 (PDT)	[thread overview]
Message-ID: <20050519.172107.59468102.davem@davemloft.net> (raw)
In-Reply-To: <200505200015.j4K0FNVG005262@guinness.s2io.com>

From: "Leonid Grossman" <leonid.grossman@neterion.com>
Date: Thu, 19 May 2005 17:15:18 -0700

> A somewhat related thought, while we are at it...
> 
> It would arguably make sense to allow a NIC to set max TSO size that the
> card is 
> willing to support (rather than assume/enforce 64k). Some NICs support
> bigger max 
> TSO size today, but it is even more important to allow a NIC to limit
> TSO to a smaller size.

We can never use a maximum greater than 65535 because that
is the limit of the representation of the ipv4 header length
field.  These TSO packets have to be processed by the entire
IP output path, including things like the firewalling and
packet scheduler modules.

So it must look like a valid IPV4 packet.

> One likely scenario where this feature is desirable is a system with highly
> fragmented memory. 
> In this case, the number of physical fragments per TSO frame could be always
> so high that it will be cheaper 
> (on a given platform) to copy the frame than to DMA it. 

We always chop up the user data into individual system pages when we
build TSO frames, so I can't see how any kind of memory fragmentation
could be an issue.

So this kind of nullifies your argument for smaller TSO size
limits as specified by the card.

The segmenter in the TCP code has the most knowledge about how it
should segment, based upon numerous factors, many if not all of which
the networking card is totally unaware of.

  reply	other threads:[~2005-05-20  0:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-18  2:24 [PATCH] Super TSO David S. Miller
2005-05-18 13:43 ` Andi Kleen
2005-05-18 19:57   ` David S. Miller
2005-05-20  0:15 ` Leonid Grossman
2005-05-20  0:21   ` David S. Miller [this message]
2005-05-20  0:36     ` Leonid Grossman
2005-05-20  0:55       ` David S. Miller
2005-05-20  1:25         ` Leonid Grossman
2005-05-20  1:28           ` David S. Miller
2005-05-20  0:45   ` Rick Jones

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=20050519.172107.59468102.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=leonid.grossman@neterion.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).