1. 30 Jan, 2009 3 commits
    • Herbert Xu's avatar
      gro: Do not merge paged packets into frag_list · 81705ad1
      Herbert Xu authored
      gro: Do not merge paged packets into frag_list
      
      Bigger is not always better :)
      
      It was easy to continue to merged packets into frag_list after the
      page array is full.  However, this turns out to be worse than LRO
      because frag_list is a much less efficient form of storage than the
      page array.  So we're better off stopping the merge and starting
      a new entry with an empty page array.
      
      In future we can optimise this further by doing frag_list merging
      but making sure that we continue to fill in the page array.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      81705ad1
    • Herbert Xu's avatar
      gro: Avoid copying headers of unmerged packets · 86911732
      Herbert Xu authored
      Unfortunately simplicity isn't always the best.  The fraginfo
      interface turned out to be suboptimal.  The problem was quite
      obvious.  For every packet, we have to copy the headers from
      the frags structure into skb->head, even though for 99% of the
      packets this part is immediately thrown away after the merge.
      
      LRO didn't have this problem because it directly read the headers
      from the frags structure.
      
      This patch attempts to address this by creating an interface
      that allows GRO to access the headers in the first frag without
      having to copy it.  Because all drivers that use frags place the
      headers in the first frag this optimisation should be enough.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      86911732
    • Herbert Xu's avatar
      gro: Move common completion code into helpers · 5d0d9be8
      Herbert Xu authored
      Currently VLAN still has a bit of common code handling the aftermath
      of GRO that's shared with the common path.  This patch moves them
      into shared helpers to reduce code duplication.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5d0d9be8
  2. 28 Jan, 2009 4 commits
  3. 27 Jan, 2009 17 commits
  4. 26 Jan, 2009 16 commits