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

Function dlb2_event_dequeue_burst_sparse

dpdk/drivers/event/dlb2/dlb2.c:4221–4249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4219}
4220
4221static uint16_t
4222dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
4223 uint16_t num, uint64_t wait)
4224{
4225 struct dlb2_eventdev_port *ev_port = event_port;
4226 struct dlb2_port *qm_port = &ev_port->qm_port;
4227 struct dlb2_eventdev *dlb2 = ev_port->dlb2;
4228 uint16_t cnt;
4229
4230 RTE_ASSERT(ev_port->setup_done);
4231 RTE_ASSERT(ev != NULL);
4232
4233 if (ev_port->implicit_release && ev_port->outstanding_releases > 0) {
4234 uint16_t out_rels = ev_port->outstanding_releases;
4235
4236 dlb2_event_release(dlb2, ev_port->id, out_rels);
4237
4238 DLB2_INC_STAT(ev_port->stats.tx_implicit_rel, out_rels);
4239 }
4240
4241 if (qm_port->token_pop_mode == RTE_PMD_DLB2_DEFERRED_POP && qm_port->owed_tokens)
4242 dlb2_consume_qe_immediate(qm_port, qm_port->owed_tokens);
4243
4244 cnt = dlb2_hw_dequeue_sparse(dlb2, ev_port, ev, num, wait);
4245
4246 DLB2_INC_STAT(ev_port->stats.traffic.total_polls, 1);
4247 DLB2_INC_STAT(ev_port->stats.traffic.zero_polls, ((cnt == 0) ? 1 : 0));
4248 return cnt;
4249}
4250
4251static uint16_t
4252dlb2_event_dequeue_sparse(void *event_port, struct rte_event *ev,

Callers 1

Calls 3

dlb2_event_releaseFunction · 0.85
dlb2_hw_dequeue_sparseFunction · 0.85

Tested by

no test coverage detected