On 1/16/23 14:41, David Marchand wrote:
> On Fri, Jan 13, 2023 at 4:57 PM Ilya Maximets wrote:
> @@ -5766,6 +5804,7 @@ static const struct netdev_class dpdk_vhost_class =
> {
> static const struct netdev_class dpdk_vhost_client_class = {
> .type = "dpdkvhostuserclient",
On Fri, Jan 13, 2023 at 4:57 PM Ilya Maximets wrote:
> >>> @@ -5766,6 +5804,7 @@ static const struct netdev_class dpdk_vhost_class =
> >>> {
> >>> static const struct netdev_class dpdk_vhost_client_class = {
> >>> .type = "dpdkvhostuserclient",
> >>> NETDEV_DPDK_CLASS_COMMON,
> >>> +
On 1/13/23 14:30, David Marchand wrote:
> On Fri, Jan 13, 2023 at 1:58 PM Ilya Maximets wrote:
>>
>> On 1/12/23 21:55, 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
>>>
On Fri, Jan 13, 2023 at 1:58 PM Ilya Maximets wrote:
>
> On 1/12/23 21:55, 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
On 1/12/23 21:55, 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
On Fri, Jan 13, 2023 at 10:19 AM Maxime Coquelin
wrote:
> > +static void
> > +netdev_dpdk_vhost_run(const struct netdev_class *netdev_class OVS_UNUSED)
> > +{
> > +struct mpsc_queue_node *node;
> > +
> > +mpsc_queue_acquire(_state_change_queue);
> > +MPSC_QUEUE_FOR_EACH_POP (node,
Hi David,
On 1/12/23 21:55, 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
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