diff options
author | David Marchand <david.marchand@redhat.com> | 2023-01-17 09:04:25 +0100 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2023-01-19 20:32:04 +0100 |
commit | e24b68fa708c1c31388bee24ebe781dc49b284da (patch) | |
tree | 086bbad9cdd9c4ab99b91336316962feee6fc831 /Documentation | |
parent | 7402dae8f463f9ca091efb69bb346bfa64c3935b (diff) | |
download | openvswitch-e24b68fa708c1c31388bee24ebe781dc49b284da.tar.gz |
netdev-dpdk: Fix deadlock due to virtqueue stats retrieval.
As Ilya reported, we have a ABBA deadlock between DPDK vq->access_lock
and OVS dev->mutex when OVS main thread refreshes statistics, while a
vring state change event is being processed for a same vhost port.
To break from this situation, move vring state change notifications
handling from the vhost-events DPDK thread to a dedicated thread
using a lockless queue.
Besides, for the case when a bogus/malicious guest is sending continuous
updates, add a counter of pending updates in the queue and warn if a
threshold of 1000 entries is reached.
Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2023-January/401101.html
Fixes: 3b29286db1c5 ("netdev-dpdk: Add per virtqueue statistics.")
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions