Re: design for TSO performance fix
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2005-01-28 01:31:53
David S. Miller [off-list ref] 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~} [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt