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