[ovs-dev] [PATCH] netdev-dpdk: Fix Tx queue false sharing.
echaudro at redhat.com
Thu Sep 12 13:07:00 UTC 2019
On 26 Aug 2019, at 16:54, Ilya Maximets wrote:
> 'tx_q' array is allocated for each DPDK netdev. 'struct
> is 8 bytes long, so 8 tx queues are sharing the same cache line in
> case of 64B cacheline size. This causes 'false sharing' issue in
> mutliqueue case because taking the spinlock implies write to memory
> i.e. cache invalidation.
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
> I didn't really test the performance impact yet, so testing is very
> welcome. Relevant test case could be PVP with 8 queues in HW NIC and
> 8 queues in vhost-user inerface and 8 PMD threads.
Did a quick test on my setup, but I do not have enough cores to do 8 PMD
threads and 8 VM cores. So I did a 4 core PMD/VM test running PV (not
PVP as we do not care about receiving traffic from the VHOST) using 64
bytes packets and 100 L3 flows.
Without the patch, I get 17,408,585 pps and with the patch 17,573,089
The patch looks good to me…
Acked-by: Eelco Chaudron <echaudro at redhat.com>
More information about the dev