Hi Honnappa,

> 
> Hi Konstantin,
>       Just to make sure we are coordinating the work on rte_ring, I plan to 
> get the following things done for 20.08. Please let me know if
> you have any comments.

Thanks for sharing your plans.
In general, looks reasonable to me.
Few comments/questions below.
>From my side - I have just few rte_ring related plans for 20.08:
1) Try to integrate hts/rts ring mode into mempool_ring (new flags for 
mempool_create or so).
2) Use peek API into crypto/scheduler PMD. 
3) Plus few ideas how to improve ring performance in particular usage 
scenarios. 
Don't know yet would it boil to something real or not (might be new sync mode 
or so).  

> 1) Remove experimental tag on rte_ring_xxx_elem APIs - they have been around 
> for 2 releases now.
> 2) Make the legacy APIs use elem APIs
> 3) Check the possibility to remove rte_ring_generic.h implementation. This 
> can be done if the legacy API performance between the generic
> and C11 implementations is not much.
> 4) Peek APIs for RTS

Due to nature of RTS I don't think it is possible to implement peek API for it.
But might be I am missing something here.

BTW, do you guys plan to continue with WFE API adoption in rte_ring? 

> Some cleanup activity (assuming above things are successful)
> 
> 1) Remove the detailed comments on top of the internal functions - it is hard 
> to maintain, the parameters are already self-explanatory
> 3) Files need some re-org
>       a) rte_ring.h, rte_ring_hts.h, rte_ring_rts.h, rte_ring_peek.h - will 
> have legacy format APIs written as wrappers around xxx_elem
> APIs
>       b) rte_ring_elem.h, rte_ring_hts_elem.h, rte_ring_rts_elem.h, 
> rte_ring_peek_elem.h - will have xxx_elem APIs
>       c) ring_elem_pvt.h, ring_hts_elem_pvt.h, ring_rts_elem_pvt.h, 
> ring_peek_elem_pvt.h
>               - these will contain the internal functions including the c11 
> functions to manipulate the head/tail pointers.
>                 The files with xxx_c11_mem.h will disappear. Make sure 
> private functions have __rte prefix

Basically you'd plan to:
a) rename rte_ring_*_c11_mem.h  to rte_ring_*_pvt.h
b) get rid of rte_ring_generic.h
Correct?

Reply via email to