Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Jun 2013 13:00:33 +0000 (UTC)
From:      Andre Oppermann <andre@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r251297 - head/sys/dev/xen/netfront
Message-ID:  <201306031300.r53D0XUx092178@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306031300.r53D0XUx092178>