NFS client READ performance on -current
Rick Macklem
rmacklem at uoguelph.ca
Thu Jul 3 02:09:15 UTC 2014
Russell L. Carter wrote:
>
>
> On 07/02/14 17:17, Michael Sierchio wrote:
> > sysctl net.inet.tcp.tso=0
>
> Woot! 2.7MB/s -> 76MB/s
>
> Is this a FAQ somewhere? I spent a long time looking
> today and didn't find it (I do recall seeing a mention
> of TSO but not seeing how to do it or that it fixed
> the problem)
>
Unfortunately, this isn't good news for me. I had thought the
worst of the TSO related problems had been resolved in head.
The one I knew about was a case where a read/write just under
64K would result in a TSO segment (including ethernet header)
just over 64K (which can't fit in 32 mbuf clusters, while 32
is the limit for transmit segments for some TSO enabled interfaces).
I think this is fixed in head by r264630, which reduces the maximum
tso segment length by a small amount.
Admittedly, if the network interface is limited to less than 35
transmit segments and does not use m_defrag() to compact the TSO
segment into 32mbuf clusters, it would still be broken. The
m_defrag() calls will result in overhead, but I don't think they
would cause that much effect.
Could you please post the dmesg stuff for the network interface,
so I can tell what driver is being used? I'll take a look at it,
in case it needs to be changed to use m_defrag().
Thanks for letting us know this fixed the problem, rick
> On the second suggestion:
>
> root at feyerabend> sysctl -a | grep dev.em | grep enable_
> root at feyerabend>
>
> No problem, though. 76MB/s is A-OK.
>
> Thanks! I'm very happy now.
>
> Russell
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to
> "freebsd-net-unsubscribe at freebsd.org"
>
More information about the freebsd-net
mailing list