#include <rte_ring_core.h>
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Calculate the memory size needed for a ring with given element size
*
* This function returns the number of bytes needed for a ring, given
* - -EINVAL - esize is not a multiple of 4 or count provided is not a
* power of 2.
*/
-__rte_experimental
ssize_t rte_ring_get_memsize_elem(unsigned int esize, unsigned int count);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
* Create a new ring named *name* that stores elements with given size.
*
* This function uses ``memzone_reserve()`` to allocate memory. Then it
* - EEXIST - a memzone with the same name already exists
* - ENOMEM - no appropriate memory area found in which to create memzone
*/
-__rte_experimental
struct rte_ring *rte_ring_create_elem(const char *name, unsigned int esize,
unsigned int count, int socket_id, unsigned int flags);
* (powerpc/arm).
* There are 2 choices for the users
* 1.use rmb() memory barrier
- * 2.use one-direction load_acquire/store_release barrier,defined by
- * CONFIG_RTE_USE_C11_MEM_MODEL=y
+ * 2.use one-direction load_acquire/store_release barrier
* It depends on performance test results.
* By default, move common functions to rte_ring_generic.h
*/