On 1/17/23 09:47, Maxime Coquelin wrote: > Hi David, > > On 1/17/23 09:04, David Marchand wrote: >> 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.") >> Signed-off-by: David Marchand <[email protected]> >> --- >> Changes since v1: >> - moved handling of events to a dedicated thread, >> - added a warning if a fair number of updates is pending, >> >> --- >> lib/netdev-dpdk.c | 122 ++++++++++++++++++++++++++++++++++++++-------- >> 1 file changed, 102 insertions(+), 20 deletions(-) >> > > Reviewed-by: Maxime Coquelin <[email protected]>
Thanks, David and Maxime! Applied and backported to 3.1. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
