This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [RFC 0/2] [NET]: Add scatter and gather support

To: Xen Development Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [RFC 0/2] [NET]: Add scatter and gather support
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 1 Jun 2006 00:08:34 +1000
Delivery-date: Wed, 31 May 2006 07:09:04 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i

The following patches add scatter-and-gather support in the domU => dom0
direction.  This is a precursor to adding TSO in the same direction.  If
everyone's happy with this approach then it's trivial to do the same
thing for the opposite direction.

SG support is required to support skb's larger than one page.  This
in turn is needed for either jumbo MTU or TSO.  One of these is
required to bring local networking performance up to a level that
is acceptable.

Testing SG support without TSO is a bit tricky because the xen bridge
won't pass any packets larger than the MTU of all its constituents.
The easiest way to test it is to add an address to the xenbr0 interface
and a route with a specific advmss.

On the frontend:

# ifconfig eth0 x.y.z.u netmask mtu 16436

On the backend:

# ip a a dev xenbr0 x.y.z.v/32
# ip r a x.y.z.u dev xenbr0 advmss 16396

This should get you going.  Now for some numbers:

netperf -t TCP_STREAM -H x.y.z.u -- -s 65536,65536 -S 65536,65536

baseline:        778.96Mb/s
mtu=16436:      2815.60Mb/s
mtu=60040:      4410.02Mb/s

lo(16436):      5508.34Mb/s
lo(60040):      8508.91Mb/s

Don't pay too much attention to the absolute numbers, it's a fairly
modest laptop.  However, the rate of increase is self-evident.

I'll post a set of TSO patches soon.

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