On 09/14/15 11:17, Roger Pau Monné wrote:
El 22/09/14 a les 10.27, Hans Petter Selasky ha escrit:
Author: hselasky
Date: Mon Sep 22 08:27:27 2014
New Revision: 271946
URL: http://svnweb.freebsd.org/changeset/base/271946
Log:
Improve transmit sending offload, TSO, algorithm in general.
The current TSO limitation feature only takes the total number of
bytes in an mbuf chain into account and does not limit by the number
of mbufs in a chain. Some kinds of hardware is limited by two
factors. One is the fragment length and the second is the fragment
count. Both of these limits need to be taken into account when doing
TSO. Else some kinds of hardware might have to drop completely valid
mbuf chains because they cannot loaded into the given hardware's DMA
engine. The new way of doing TSO limitation has been made backwards
compatible as input from other FreeBSD developers and will use
defaults for values not set.
Reviewed by: adrian, rmacklem
Sponsored by: Mellanox Technologies
This commit makes xen-netfront tx performance drop from ~5Gbits/sec
(with debug options enabled) to 446 Mbits/sec. I'm currently looking,
but if anyone has ideas they are welcome.
Hi Roger,
Looking at the netfront code you should subtract 1 from tsomaxsegcount
prior to r287775. The reason might simply be that 2K clusters are used
instead of 4K clusters, causing m_defrag() to be called.
ifp->if_hw_tsomax = 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN);
ifp->if_hw_tsomaxsegcount = MAX_TX_REQ_FRAGS;
ifp->if_hw_tsomaxsegsize = PAGE_SIZE;
After r287775 can you try these settings:
ifp->if_hw_tsomax = 65536;
ifp->if_hw_tsomaxsegcount = MAX_TX_REQ_FRAGS;
ifp->if_hw_tsomaxsegsize = PAGE_SIZE;
And see if the performance is the same like before?
Thank you!
--HPS
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"