New upstream version 18.08
[deb_dpdk.git] / drivers / event / sw / sw_evdev_worker.c
index 67151f7..063b919 100644 (file)
@@ -77,8 +77,10 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
                rte_atomic32_add(&sw->inflights, credit_update_quanta);
                p->inflight_credits += (credit_update_quanta);
 
-               if (p->inflight_credits < new)
-                       return 0;
+               /* If there are fewer inflight credits than new events, limit
+                * the number of enqueued events.
+                */
+               num = (p->inflight_credits < new) ? p->inflight_credits : new;
        }
 
        for (i = 0; i < num; i++) {