netdev
[Top] [All Lists]

Re: design for TSO performance fix

To: davem@xxxxxxxxxxxxx (David S. Miller)
Subject: Re: design for TSO performance fix
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 28 Jan 2005 12:31:53 +1100
Cc: netdev@xxxxxxxxxxx
In-reply-to: <20050127163146.33b01e95.davem@xxxxxxxxxxxxx>
Organization: Core
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: tin/1.7.4-20040225 ("Benbecula") (UNIX) (Linux/2.4.27-hx-1-686-smp (i686))
David S. Miller <davem@xxxxxxxxxxxxx> wrote:
> 
> Ok, here is the best idea I've been able to come up with
> so far.

It sounds great!

> 2) As a result of #1, all the pcount crap goes away.
>   The need for two MSS state variables (mss_cache,
>   and mss_cache_std) and assosciated complexity is
>   eliminated as well.

Does this mean that we'll start counting bytes instead
of packets?

If not then please let me know on how you plan to do the
packet counting.
 
> static struct sk_buff *tcp_tso_build(struct sk_buff *head, int mss, int num)
> {
>        struct sk_buff *skb;
>        struct sock *sk;
>        int err;
> 
>        sk = head->sk;
>        skb = alloc_skb(sk->sk_prot->max_header, GFP_ATOMIC);

The other good thing about this is that if we do this for all
packets including non-TSO ones, then the TCP stack doesn't have
to own the TCP/IP headers at all.  Then we can stop worrying
about the TSO/COW mangling.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

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