Hi David, > Hello, > > On Thu, Sep 30, 2021 at 7:42 PM Sean Morrissey <sean.morris...@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. >
You are right, sorry I forgot about these things ☹ Will change in v2.