On Fri, Dec 06, 2019 at 02:09:24AM -0500, yang_y...@163.com wrote:
> From: Yi Yang <yangy...@inspur.com>
> 
> Current netdev_linux_rxq_recv_tap and netdev_linux_rxq_recv_sock
> just receive single packet, that is very inefficient, per my test
> case which adds two tap ports or veth ports into OVS bridge
> (datapath_type=netdev) and use iperf3 to do performance test
> between two ports (they are set into different network name space).
> 
> The result is as below:
> 
>   tap:  295 Mbits/sec
>   veth: 207 Mbits/sec
> 
> After I change netdev_linux_rxq_recv_tap and
> netdev_linux_rxq_recv_sock to use batch process, the performance
> is boosted by about 7 times, here is the result:
> 
>   tap:  1.96 Gbits/sec
>   veth: 1.47 Gbits/sec
> 
> Undoubtedly this is a huge improvement although it can't match
> OVS kernel datapath yet.
> 
> FYI: here is thr result for OVS kernel datapath:
> 
>   tap:  37.2 Gbits/sec
>   veth: 36.3 Gbits/sec
> 
> Note: performance result is highly related with your test machine
> , you shouldn't expect the same results on your test machine.
> 
> Signed-off-by: Yi Yang <yangy...@inspur.com>

Hi Yi Yang,

Are you testing this using OVS-DPDK?
If you're using OVS-DPDK, then you should use DPDK's vdev to
open and attach tap/veth device to OVS. I think you'll see much
better performance.

The performance issue you pointed out only happens when using
userspace datapath without DPDK library, where afxdp is used.
I'm still looking for a better solutions for faster interface
for veth (af_packet) and tap.

Thanks
William

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to