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