Hi Ilya Maximets , 

I did internal performance benchmarking tests with this patch . I tried with 
different traffic (udp and vxlan) and with different packet size (64 and 1024) 
.  I don’t observe any performance degradation by applying the patch .
Even from the code changes , it doesn't look like that it can cause performance 
degradation of 4%. 

Can you please elaborate how you tested .

Regards ,
Dheeraj  

-----Original Message-----
From: Ilya Maximets <i.maxim...@ovn.org> 
Sent: 17 January 2023 01:41
To: Dheeraj Kumar <dheera...@acldigital.com>; ovs-dev@openvswitch.org
Cc: i.maxim...@ovn.org
Subject: Re: [PATCH v3] dpif-netdev: Optimize flushing of output packet buffers

On 1/13/23 13:20, Dheeraj Kumar wrote:
> Problem Statement:
> Before OVS 2.12 the OVS-DPDK datapath transmitted processed rx packet 
> batches directly to the wanted tx queues. In OVS 2.12 each PMD stores 
> the processed packets in an intermediate buffer per output port and 
> flushes these output buffers in a separate step. This buffering was 
> introduced to allow better batching of packets for transmit.
> 
> The current implementation of the function that flushes the output 
> buffers performs a full scan overall output ports, even if only one 
> single packet was buffered for a single output port. In systems with 
> hundreds of ports this can take a long time and degrades OVS-DPDK performance 
> significantly.
> 
> Solution:
> Maintain a list of output ports with buffered packets for each PMD 
> thread and only iterate over that list when flushing output buffers.
> 
> Signed-off-by: Dheeraj Kumar <dheera...@acldigital.com>
> ---
>  lib/dpif-netdev-private-thread.h |  7 ++++---
>  lib/dpif-netdev.c                | 24 ++++++++++++------------
>  2 files changed, 16 insertions(+), 15 deletions(-)

Hi, Dheeraj.  Thanks for the updated version.
Unfortunately, on a quick test with bidirectional traffic between
2 vhost-user ports I see a noticeable 4% performance degradation with this 
change applied.  Could you, please, check why is that happening or if we can 
avoid this?

Best regards, Ilya Maximets.

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

Reply via email to