[dpdk-dev] [PATCH v1] lib/ring: remove experimental tag from functions
David Marchand
david.marchand at redhat.com
Sat Oct 2 10:46:36 CEST 2021
Hello,
On Thu, Sep 30, 2021 at 7:42 PM Sean Morrissey <sean.morrissey at intel.com> wrote:
>
> These methods were introduced in 20.05.
> There has been no changes in their public API since then.
> They seem mature enough to remove the experimental tag.
I am a bit skeptical at the patch.
Can you double check?
/** prod/cons sync types */
enum rte_ring_sync_type {
RTE_RING_SYNC_MT, /**< multi-thread safe (default mode) */
RTE_RING_SYNC_ST, /**< single thread only */
#ifdef ALLOW_EXPERIMENTAL_API
RTE_RING_SYNC_MT_RTS, /**< multi-thread relaxed tail sync */
RTE_RING_SYNC_MT_HTS, /**< multi-thread head/tail sync */
#endif
};
There is also in rte_ring_elem.h:
#ifdef ALLOW_EXPERIMENTAL_API
#include <rte_ring_hts.h>
#include <rte_ring_rts.h>
#endif
And later
static __rte_always_inline unsigned int
rte_ring_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table,
unsigned int esize, unsigned int n, unsigned int *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);
I don't think those HTS and RTS modes work if the code is compiled
without the experimental flag.
--
David Marchand
More information about the dev
mailing list