MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sw_drain_ports

Function sw_drain_ports

dpdk/drivers/event/sw/sw_evdev.c:395–419  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

393}
394
395static void
396sw_drain_ports(struct rte_eventdev *dev)
397{
398 struct sw_evdev *sw = sw_pmd_priv(dev);
399 eventdev_stop_flush_t flush;
400 unsigned int i;
401 uint8_t dev_id;
402 void *arg;
403
404 flush = dev->dev_ops->dev_stop_flush;
405 dev_id = dev->data->dev_id;
406 arg = dev->data->dev_stop_flush_arg;
407
408 for (i = 0; i < sw->port_count; i++) {
409 struct rte_event ev;
410
411 while (rte_event_dequeue_burst(dev_id, i, &ev, 1, 0)) {
412 if (flush)
413 flush(dev_id, ev, arg);
414
415 ev.op = RTE_EVENT_OP_RELEASE;
416 rte_event_enqueue_burst(dev_id, i, &ev, 1);
417 }
418 }
419}
420
421static void
422sw_drain_queue(struct rte_eventdev *dev, struct sw_iq *iq)

Callers 1

sw_stopFunction · 0.85

Calls 4

sw_pmd_privFunction · 0.85
rte_event_dequeue_burstFunction · 0.85
rte_event_enqueue_burstFunction · 0.85
flushFunction · 0.70

Tested by

no test coverage detected