On Fri, Jan 13, 2023 at 10:19 AM Maxime Coquelin
<maxime.coque...@redhat.com> wrote:
> > +static void
> > +netdev_dpdk_vhost_run(const struct netdev_class *netdev_class OVS_UNUSED)
> > +{
> > +    struct mpsc_queue_node *node;
> > +
> > +    mpsc_queue_acquire(&vhost_state_change_queue);
> > +    MPSC_QUEUE_FOR_EACH_POP (node, &vhost_state_change_queue) {
> > +        struct vhost_state_change *sc;
> > +
> > +        sc = CONTAINER_OF(node, struct vhost_state_change, node);
> > +        vring_state_changed__(sc);
> > +        free(sc);
> > +    }
> > +    mpsc_queue_release(&vhost_state_change_queue);
>
> Maybe we should limit the number of iteration at each run, to give time
> for the OVS main thread to handle other work in case the queue gets
> overloaded (intentionally or not).

I agree that this is something we should find a mitigation against.
I'll wait to see what others think.


-- 
David Marchand

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to