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

Function dlb2_consume_qe_immediate

dpdk/drivers/event/dlb2/dlb2.c:2812–2836  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2810}
2811
2812static inline int
2813dlb2_consume_qe_immediate(struct dlb2_port *qm_port, int num)
2814{
2815 struct process_local_port_data *port_data;
2816 struct dlb2_cq_pop_qe *qe;
2817
2818 RTE_ASSERT(qm_port->config_state == DLB2_CONFIGURED);
2819
2820 qe = qm_port->consume_qe;
2821
2822 qe->tokens = num - 1;
2823
2824 /* No store fence needed since no pointer is being sent, and CQ token
2825 * pops can be safely reordered with other HCWs.
2826 */
2827 port_data = &dlb2_port[qm_port->id][PORT_TYPE(qm_port)];
2828
2829 dlb2_movntdq_single(port_data->pp_addr, qe);
2830
2831 DLB2_LOG_DBG("dlb2: consume immediate - %d QEs\n", num);
2832
2833 qm_port->owed_tokens = 0;
2834
2835 return 0;
2836}
2837
2838static inline void
2839dlb2_hw_do_enqueue(struct dlb2_port *qm_port,

Callers 5

dlb2_process_dequeue_qesFunction · 0.85
dlb2_hw_dequeue_sparseFunction · 0.85
dlb2_hw_dequeueFunction · 0.85
dlb2_event_dequeue_burstFunction · 0.85

Calls 1

dlb2_movntdq_singleFunction · 0.85

Tested by

no test coverage detected