* Dequeue several objects from a ring (multi-consumers safe). When the request * objects are more than the available objects, only dequeue the actual number * of objects * * This function uses a "compare and set" instruction to move the * consumer index atomically. * * @param r * A pointer to the ring structure. * @param obj_table * A pointer to a table of void * pointers (objects) t
| 756 | * - n: Actual number of objects dequeued, 0 if ring is empty |
| 757 | */ |
| 758 | static __rte_always_inline unsigned int |
| 759 | rte_ring_mc_dequeue_burst(struct rte_ring *r, void **obj_table, |
| 760 | unsigned int n, unsigned int *available) |
| 761 | { |
| 762 | return rte_ring_mc_dequeue_burst_elem(r, obj_table, sizeof(void *), |
| 763 | n, available); |
| 764 | } |
| 765 | |
| 766 | /** |
| 767 | * Dequeue several objects from a ring (NOT multi-consumers safe).When the |