On 08/18/15 14:53, Rick Macklem wrote:
If this is just a test machine, maybe you could test with these lines (at about 
#880)
in sys/netinet/tcp_output.c commented out? (It looks to me like this will 
disable TSO
for almost all the NFS writes.)
- around line #880 in sys/netinet/tcp_output.c:
                        /*
                         * In case there are too many small fragments
                         * don't use TSO:
                         */
                        if (len <= max_len) {
                                len = max_len;
                                sendalot = 1;
                                tso = 0;
                        }

This was added along with the other stuff that did the if_hw_tsomaxsegcount, 
etc and I
never noticed it until now (not my patch).

FYI:

These lines are needed by other hardware, like the mlxen driver. If you remove them mlxen will start doing m_defrag(). I believe if you set the correct parameters in the "struct ifnet" for the TSO size/count limits this problem will go away. If you print the "len" and "max_len" and also the cases where TSO limits are reached, you'll see what parameter is triggering it and needs to be increased.

--HPS
_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to