net: use software GSO for SG+CSUM capable netdevices
authorLennert Buytenhek <buytenh@marvell.com>
Sun, 3 Aug 2008 08:23:10 +0000 (01:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 Aug 2008 08:23:10 +0000 (01:23 -0700)
commite5a4a72d4f88f4389e9340d383ca67031d1b8536
tree487fe8cf472a5b47007830a2666120c8ea5df51c
parent745e203164a9057e0de769ff4649e6e455daf753
net: use software GSO for SG+CSUM capable netdevices

If a netdevice does not support hardware GSO, allowing the stack to
use GSO anyway and then splitting the GSO skb into MSS-sized pieces
as it is handed to the netdevice for transmitting is likely still
a win as far as throughput and/or CPU usage are concerned, since it
reduces the number of trips through the output path.

This patch enables the use of GSO on any netdevice that supports SG.
If a GSO skb is then sent to a netdevice that supports SG but does not
support hardware GSO, net/core/dev.c:dev_hard_start_xmit() will take
care of doing the necessary GSO segmentation in software.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c