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

Function rte_ring_enqueue_elem

dpdk/lib/ring/rte_ring_elem.h:287–292  ·  view source on GitHub ↗

* Enqueue one object on a ring. * * This function calls the multi-producer or the single-producer * version, depending on the default behaviour that was specified at * ring creation time (see flags). * * @param r * A pointer to the ring structure. * @param obj * A pointer to the object to be added. * @param esize * The size of ring element, in bytes. It must be a multiple of 4. *

Source from the content-addressed store, hash-verified

285 * - -ENOBUFS: Not enough room in the ring to enqueue; no object is enqueued.
286 */
287static __rte_always_inline int
288rte_ring_enqueue_elem(struct rte_ring *r, void *obj, unsigned int esize)
289{
290 return rte_ring_enqueue_bulk_elem(r, obj, esize, 1, NULL) ? 0 :
291 -ENOBUFS;
292}
293
294/**
295 * Dequeue several objects from a ring (multi-consumers safe).

Callers 6

rte_ring_enqueueFunction · 0.85
rte_rcu_qsbr_dq_enqueueFunction · 0.85
__hws_cnt_id_loadFunction · 0.85
mlx5_hws_cnt_pool_putFunction · 0.85
dsw_port_ctl_enqueueFunction · 0.85
test_ring_enqueueFunction · 0.85

Calls 1

Tested by 1

test_ring_enqueueFunction · 0.68