*
* The new ring size is set to *count*, which must be a power of
* two. Water marking is disabled by default. The real usable ring size
- * is *count-1* instead of *count* to differentiate a free ring from an
+ * is *count-1* instead of *count* to differentiate a full ring from an
* empty ring.
*
* The ring is added in RTE_TAILQ_RING list.
RTE_RING_QUEUE_FIXED, RTE_RING_SYNC_ST, free_space);
}
-#ifdef ALLOW_EXPERIMENTAL_API
#include <rte_ring_hts.h>
#include <rte_ring_rts.h>
-#endif
/**
* Enqueue several objects on a ring.
case RTE_RING_SYNC_ST:
return rte_ring_sp_enqueue_bulk_elem(r, obj_table, esize, n,
free_space);
-#ifdef ALLOW_EXPERIMENTAL_API
case RTE_RING_SYNC_MT_RTS:
return rte_ring_mp_rts_enqueue_bulk_elem(r, obj_table, esize, n,
free_space);
case RTE_RING_SYNC_MT_HTS:
return rte_ring_mp_hts_enqueue_bulk_elem(r, obj_table, esize, n,
free_space);
-#endif
}
/* valid ring should never reach this point */
case RTE_RING_SYNC_ST:
return rte_ring_sc_dequeue_bulk_elem(r, obj_table, esize, n,
available);
-#ifdef ALLOW_EXPERIMENTAL_API
case RTE_RING_SYNC_MT_RTS:
return rte_ring_mc_rts_dequeue_bulk_elem(r, obj_table, esize,
n, available);
case RTE_RING_SYNC_MT_HTS:
return rte_ring_mc_hts_dequeue_bulk_elem(r, obj_table, esize,
n, available);
-#endif
}
/* valid ring should never reach this point */
case RTE_RING_SYNC_ST:
return rte_ring_sp_enqueue_burst_elem(r, obj_table, esize, n,
free_space);
-#ifdef ALLOW_EXPERIMENTAL_API
case RTE_RING_SYNC_MT_RTS:
return rte_ring_mp_rts_enqueue_burst_elem(r, obj_table, esize,
n, free_space);
case RTE_RING_SYNC_MT_HTS:
return rte_ring_mp_hts_enqueue_burst_elem(r, obj_table, esize,
n, free_space);
-#endif
}
/* valid ring should never reach this point */
case RTE_RING_SYNC_ST:
return rte_ring_sc_dequeue_burst_elem(r, obj_table, esize, n,
available);
-#ifdef ALLOW_EXPERIMENTAL_API
case RTE_RING_SYNC_MT_RTS:
return rte_ring_mc_rts_dequeue_burst_elem(r, obj_table, esize,
n, available);
case RTE_RING_SYNC_MT_HTS:
return rte_ring_mc_hts_dequeue_burst_elem(r, obj_table, esize,
n, available);
-#endif
}
/* valid ring should never reach this point */
return 0;
}
-#ifdef ALLOW_EXPERIMENTAL_API
#include <rte_ring_peek.h>
#include <rte_ring_peek_zc.h>
-#endif
#include <rte_ring.h>