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

Function dlb2_event_dequeue_burst

dpdk/drivers/event/dlb2/dlb2.c:4184–4213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4182}
4183
4184static uint16_t
4185dlb2_event_dequeue_burst(void *event_port, struct rte_event *ev, uint16_t num,
4186 uint64_t wait)
4187{
4188 struct dlb2_eventdev_port *ev_port = event_port;
4189 struct dlb2_port *qm_port = &ev_port->qm_port;
4190 struct dlb2_eventdev *dlb2 = ev_port->dlb2;
4191 uint16_t cnt;
4192
4193 RTE_ASSERT(ev_port->setup_done);
4194 RTE_ASSERT(ev != NULL);
4195
4196 if (ev_port->implicit_release && ev_port->outstanding_releases > 0) {
4197 uint16_t out_rels = ev_port->outstanding_releases;
4198
4199 dlb2_event_release(dlb2, ev_port->id, out_rels);
4200
4201 DLB2_INC_STAT(ev_port->stats.tx_implicit_rel, out_rels);
4202 }
4203
4204 if (qm_port->token_pop_mode == RTE_PMD_DLB2_DEFERRED_POP && qm_port->owed_tokens)
4205 dlb2_consume_qe_immediate(qm_port, qm_port->owed_tokens);
4206
4207 cnt = dlb2_hw_dequeue(dlb2, ev_port, ev, num, wait);
4208
4209 DLB2_INC_STAT(ev_port->stats.traffic.total_polls, 1);
4210 DLB2_INC_STAT(ev_port->stats.traffic.zero_polls, ((cnt == 0) ? 1 : 0));
4211
4212 return cnt;
4213}
4214
4215static uint16_t
4216dlb2_event_dequeue(void *event_port, struct rte_event *ev, uint64_t wait)

Callers 1

dlb2_event_dequeueFunction · 0.85

Calls 3

dlb2_event_releaseFunction · 0.85
dlb2_hw_dequeueFunction · 0.85

Tested by

no test coverage detected