svn commit: r271946 - in head/sys: dev/oce dev/vmware/vmxnet3 dev/xen/netfront kern net netinet ofed/drivers/net/mlx4 sys

Hans Petter Selasky hps at selasky.org
Tue Sep 15 11:15:09 UTC 2015


On 09/14/15 20:35, Adrian Chadd wrote:
> Hi,
>
> So what's the actual behaviour of the new tso logic before and after
> the above change in tsomax?

Hi,

The behaviour is the same, only the limits have changed a bit.

 > like, what are the actual packet sizes
> being sent up to the hardware?

It is not about the packet sizes, it is about the number of packets we 
transmit per TSO block.

> Is TSO or the TCP stack so fragile that
> a slight change in how packets are broken up results in ridiculously
> less throughput? It's only a few bytes.

Network adapters which support TSO typically has a hard limit on the 
number of mbufs it can load. When we exceed this limit, m_defrag() or 
packet drop is next. It is the responsibility of the TCP stack to 
generated mbuf chains which are within the network adapter given limits. 
Previously only the length was accounted for. Now we also account for 
the number of segments, because there are many ways a 64K bytes long 
mbuf chain can be generated.

--HPS



More information about the svn-src-head mailing list