* Enqueue several objects on the ring (multi-producers safe). * * This function uses a "compare and set" instruction to move the * producer index atomically. * * @param r * A pointer to the ring structure. * @param obj_table * A pointer to a table of void * pointers (objects). * @param n * The number of objects to add in the ring from the obj_table. * @param free_space * if non
| 678 | * - n: Actual number of objects enqueued. |
| 679 | */ |
| 680 | static __rte_always_inline unsigned int |
| 681 | rte_ring_mp_enqueue_burst(struct rte_ring *r, void * const *obj_table, |
| 682 | unsigned int n, unsigned int *free_space) |
| 683 | { |
| 684 | return rte_ring_mp_enqueue_burst_elem(r, obj_table, sizeof(void *), |
| 685 | n, free_space); |
| 686 | } |
| 687 | |
| 688 | /** |
| 689 | * Enqueue several objects on a ring (NOT multi-producers safe). |