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
This commit is contained in:
parent
3c914c547e
commit
33e0730e2d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=251297
@ -134,6 +134,7 @@ static const int MODPARM_rx_flip = 0;
|
|||||||
* to mirror the Linux MAX_SKB_FRAGS constant.
|
* to mirror the Linux MAX_SKB_FRAGS constant.
|
||||||
*/
|
*/
|
||||||
#define MAX_TX_REQ_FRAGS (65536 / PAGE_SIZE + 2)
|
#define MAX_TX_REQ_FRAGS (65536 / PAGE_SIZE + 2)
|
||||||
|
#define NF_TSO_MAXBURST ((IP_MAXPACKET / PAGE_SIZE) * MCLBYTES)
|
||||||
|
|
||||||
#define RX_COPY_THRESHOLD 256
|
#define RX_COPY_THRESHOLD 256
|
||||||
|
|
||||||
@ -2122,6 +2123,7 @@ create_netdev(device_t dev)
|
|||||||
|
|
||||||
ifp->if_hwassist = XN_CSUM_FEATURES;
|
ifp->if_hwassist = XN_CSUM_FEATURES;
|
||||||
ifp->if_capabilities = IFCAP_HWCSUM;
|
ifp->if_capabilities = IFCAP_HWCSUM;
|
||||||
|
ifp->if_hw_tsomax = NF_TSO_MAXBURST;
|
||||||
|
|
||||||
ether_ifattach(ifp, np->mac);
|
ether_ifattach(ifp, np->mac);
|
||||||
callout_init(&np->xn_stat_ch, CALLOUT_MPSAFE);
|
callout_init(&np->xn_stat_ch, CALLOUT_MPSAFE);
|
||||||
|
Loading…
Reference in New Issue
Block a user