svn commit: r251297 - head/sys/dev/xen/netfront
Andre Oppermann
andre at FreeBSD.org
Mon Jun 3 13:00:33 UTC 2013
Author: andre
Date: Mon Jun 3 13:00:33 2013
New Revision: 251297
URL: http://svnweb.freebsd.org/changeset/base/251297
Log:
Specify a maximum TSO length limiting the segment chain to what the
Xen host side can handle after defragmentation.
This prevents the driver from throwing away too long TSO chains and
improves the performance on Amazon AWS instances with 10GigE virtual
interfaces to the normally expected throughput.
Submitted by: cperciva (earlier version)
Reviewed by: cperciva
Tested by: cperciva
MFC after: 1 week
Modified:
head/sys/dev/xen/netfront/netfront.c
Modified: head/sys/dev/xen/netfront/netfront.c
==============================================================================
--- head/sys/dev/xen/netfront/netfront.c Mon Jun 3 12:55:13 2013 (r251296)
+++ head/sys/dev/xen/netfront/netfront.c Mon Jun 3 13:00:33 2013 (r251297)
@@ -134,6 +134,7 @@ static const int MODPARM_rx_flip = 0;
* to mirror the Linux MAX_SKB_FRAGS constant.
*/
#define MAX_TX_REQ_FRAGS (65536 / PAGE_SIZE + 2)
+#define NF_TSO_MAXBURST ((IP_MAXPACKET / PAGE_SIZE) * MCLBYTES)
#define RX_COPY_THRESHOLD 256
@@ -2122,6 +2123,7 @@ create_netdev(device_t dev)
ifp->if_hwassist = XN_CSUM_FEATURES;
ifp->if_capabilities = IFCAP_HWCSUM;
+ ifp->if_hw_tsomax = NF_TSO_MAXBURST;
ether_ifattach(ifp, np->mac);
callout_init(&np->xn_stat_ch, CALLOUT_MPSAFE);
More information about the svn-src-head
mailing list