On 11/01/2019 16:14, Ilya Maximets wrote:

[snip]

> One more thing I wanted to mention is that I was surprised to not see
> the performance comparison of TSO with usual Jumbo frames in your slides
> on a recent OVS Conference [1]. You had a comparison slide with 1500 MTU,
> TSO and the kernel vhost, but not the jumbo frames. In my testing
> I have more than 22 Gbps for VM<->VM jumbo frames performance with
> current OVS and iperf. And this is almost equal to vhost kernel with TSO
> performance on my system (I have probably a bit less powerful CPU, so the
> results are a bit lower than in your slides). Also, in real cases there will
> be significant performance drop because of fallback to software TSO in
> many cases. Sorry, but I don't really see the benefits of using the
> Multi-segment mbufs and TSO.
> All of this work positioned as a feature to cover the gap between the kernel
> and userspace datapaths, but there is no any gap from the performance point
> of view and overcomplicating the OVS by multisegmenting and TSO is really
> not necessary.
> 
> [1] http://www.openvswitch.org/support/ovscon2018/5/0935-lam.pptx
> 

Right. Thanks for watching...

You can have the same behavior without this patchset. No one said
otherwise. At the cost of user experience. And that's why every so often
there's a new person in the ovs-discuss mailing list complaining about
performance issues on a PVP setup using OvS-DPDK. TSO improves usability
since it leaves up to the Host on how to do that segmentation, which is
where it matters. Otherwise you need to set the MTU in the VM
accordingly, risking double segmentation or screwing something up.

What's more, if TCP's Window Scaling option is being negotiated between
VMs, if you don't have TSO you will inevitably have a performance hit.
You've configured a manual MTU which is likely going to constrain what's
negotiated with Window Scaling, leading to your VM TCP/IP stack
segmenting the packet according to that. With TSO you avoid that and
only do the segmentation, in the Host, if the packet is actually leaving
the host. VM to VM communication within the same host would have no need
for segmentation.

Tiago.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to