|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [0/5] [NET]: Add TSO support
Hi:
The following patches add TCP Segmentation Offload (TSO) support in the
domU => dom0 direction. If everyone's happy with this approach then it's
trivial to do the same thing for the opposite direction.
TSO support requires the Geneic Segmentation Offload (GSO) infrastructure
that was recently added to Linux (merged after the release of 2.6.17 so
will be part of 2.6.18). This is needed when a TSO packet is sent to a
device without TSO support.
I've included a backport of GSO for 2.6.16.13 here.
Testing is should be easy as TSO is turned on by default. You can verify
that it's working by attaching tcpdump to any of the interfaces involved
ina domU => dom0 transfer. You should see packets whose payload is an
integral multiple of MSS.
Comparison with base line and jumbo MTU:
baseline: 1228.08Mb/s
mtu=16436: 3097.49Mb/s
TSO: 3208.41Mb/s
mtu=60040: 3869.36Mb/s
lo(16436): 5543.91Mb/s
lo(60040): 8544.08Mb/s
There is still a problem with TSO ack timing that causes it to generate
smaller than optimal packets. This can be seen with increasing the RCV
buffer size on the transfer which actually causes TSO performance to
dip by 30% to about 2000Mb/s. The reason is that we get a lot more
smaller packets (2*MSS or 3*MSS) than really big ones (~64K). I'm
investigating this issue.
However, even with this nit, it's still a great improvement over the base
line and does not have the interoperability issue that comes with raising
MTU.
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
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [0/5] [NET]: Add TSO support,
Herbert Xu <=
|
|
|
|
|