netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: netdev@oss.sgi.com
Cc: herbert@gondor.apana.org.au, jheffner@psc.edu
Subject: [PATCH 0/9]: TCP: The Road to Super TSO
Date: Mon, 06 Jun 2005 21:08:46 -0700 (PDT)	[thread overview]
Message-ID: <20050606.210846.07641049.davem@davemloft.net> (raw)


Some folks, notable the S2IO guys, get performance degradation
from the Super TSO v2 patch (they get it from the first version
as well).  It's a real pain to spot what causes such things
in such a huge patch... so I started splitting things up in
a very fine grained manner so we can catch regressions more
precisely.

There are several bugs spotted by this first set of 9 patches,
and I'd really appreciate good high-quality testing reports.
Please do not mail such reports privately to me, as some have
done, always include netdev@oss.sgi.com, thanks a lot.

Herbert, I'm CC:'ing you because one of the bugs fixed here
has to do with the TSO header COW'ing stuff you did.  You
missed one case where a skb_header_release() call was needed,
namely tcp_fragment() where it does it's __skb_append().

John, I'm CC:'ing you because there are several cwnd handling
related cures in here.  I did _not_ fix the TSO cwnd growth
bug yet in these patches, but it is at the very top of my
TODO list for my next batch of work on this stuff.  The most
notable fix here is the bogus extra cwnd validation done by
__tcp_push_pending_frames().  That validation should only
occur if we _do_ send some packets, and tcp_write_xmit() takes
care of that just fine.  The other one is that the 'nonagle'
argument to __tcp_push_pending_frames() is clobbered by it's
tcp_skb_is_last() logic, causing TCP_NAGLE_PUSH to be used for
all packets processed by tcp_write_xmit(), whoops...

Please help me review this stuff, thanks.

The patches will show up as followups to this email.

             reply	other threads:[~2005-06-07  4:08 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-07  4:08 David S. Miller [this message]
2005-06-07  4:16 ` [PATCH 1/9]: TCP: The Road to Super TSO David S. Miller
2005-06-07  4:17 ` [PATCH 2/9]: " David S. Miller
2005-06-07  4:17 ` [PATCH 3/9]: " David S. Miller
2005-06-07  4:18 ` [PATCH 4/9]: " David S. Miller
2005-06-07  4:19 ` [PATCH 5/9]: " David S. Miller
2005-06-07  4:20 ` [PATCH 6/9]: " David S. Miller
2005-06-07  4:21 ` [PATCH 7/9]: " David S. Miller
2005-06-07  4:22 ` [PATCH 8/9]: " David S. Miller
2005-06-07  4:23 ` [PATCH 9/9]: " David S. Miller
2005-06-07  4:56 ` [PATCH 0/9]: " Stephen Hemminger
2005-06-07  5:51   ` David S. Miller
2005-06-08 21:40 ` John Heffner
2005-06-08 21:49   ` David S. Miller
2005-06-08 22:10     ` Herbert Xu
2005-06-09  4:55       ` Leonid Grossman
2005-06-08 22:19     ` Leonid Grossman
  -- strict thread matches above, loose matches on Subject: below --
2005-06-09  4:30 Leonid Grossman

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=20050606.210846.07641049.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=jheffner@psc.edu \
    --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).