netdev
[Top] [All Lists]

Re: bad TSO performance in 2.6.9-rc2-BK

To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Subject: Re: bad TSO performance in 2.6.9-rc2-BK
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Tue, 28 Sep 2004 14:10:02 -0700
Cc: ak@xxxxxxx, niv@xxxxxxxxxx, andy.grover@xxxxxxxxx, anton@xxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20040927213233.GC7243@gondor.apana.org.au>
References: <20040923164149.5368d291.davem@davemloft.net> <E1CBkIW-0001dF-00@gondolin.me.apana.org.au> <20040927025048.GA6723@gondor.apana.org.au> <20040926210029.22750d47.davem@davemloft.net> <20040927054541.GA8858@gondor.apana.org.au> <20040927120154.09fdcadf.davem@davemloft.net> <20040927213233.GC7243@gondor.apana.org.au>
Sender: netdev-bounce@xxxxxxxxxxx
On Tue, 28 Sep 2004 07:32:33 +1000
Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Sep 27, 2004 at 12:01:54PM -0700, David S. Miller wrote:
> >
> > > tcp_current_mss() doesn't call tcp_sync_mss() unless the PMTU changes.
> > 
> > Good catch, probably we should make it do so when sk_route_caps
> > indicates we are doing TSO.
> 
> Alternatively we could move the TSO code out of tcp_sync_mss() and
> put it in tcp_current_mss() instead.  It seems to be the only one
> using the factor anyway.

Ok, here are 2 patches incorporating all of the things
we discussed in this area:

1) Uninline tcp_current_mss(), fix tcp_sync_mss() return
   value to match tcp_current_mss()'s

2) Fix the do_large calculation bug in tcp_current_mss() as
   per Herbert's original patch.

3) Move TSO mss calculation work to tcp_current_mss().  We have
   to do something like this since tcp_sync_mss() is only invoked
   when the PMTU changes whereas the TSO MTU is dependant upon
   both the path and the current congestion window.

So, this patch should wrap up these issues.

Attachment: diff1
Description: Binary data

Attachment: diff2
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>