gro: Only use skb_gro_header for completely non-linear packets
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 26 May 2009 18:50:23 +0000 (18:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2009 10:25:57 +0000 (03:25 -0700)
commit78d3fd0b7de844a6dad56e9620fc9d2271b32ab9
treee79c910646deccc50f5a108782f66cebffafa4d8
parent67147ba99aeb48f2863e03b68e090088a34c1b5d
gro: Only use skb_gro_header for completely non-linear packets

Currently skb_gro_header is used for packets which put the hardware
header in skb->data with the rest in frags.  Since the drivers that
need this optimisation all provide completely non-linear packets,
we can gain extra optimisations by only performing the frag0
optimisation for completely non-linear packets.

In particular, we can simply test frag0 (instead of skb_headlen)
to see whether the optimisation is in force.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
net/core/dev.c