On Tue, 15 Jan 2019 17:59:34 -0600
Gage Eads <gage.e...@intel.com> wrote:

> In order to support the non-blocking ring[1], one ABI change and one API
> change are required in librte_ring. This commit updates the deprecation
> notice to pave the way for their inclusion in 19.05.
> 
> [1] http://mails.dpdk.org/archives/dev/2019-January/123475.html
> 
> Signed-off-by: Gage Eads <gage.e...@intel.com>
> ---
>  doc/guides/rel_notes/deprecation.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst 
> b/doc/guides/rel_notes/deprecation.rst
> index d4aea4b46..d74cff467 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -83,3 +83,14 @@ Deprecation Notices
>    - The size and layout of ``rte_cryptodev_qp_conf`` and syntax of
>      ``rte_cryptodev_queue_pair_setup`` will change to to allow to use
>      two different mempools for crypto and device private sessions.
> +
> +* ring: two changes are planned for rte_ring in v19.05:
> +
> +  - The ring head and tail values are planned to be changed from ``uint32_t``
> +    to ``size_t``. This reduces the likelihood of wrap-around to effectively
> +    zero for 64-bit builds, which is important in avoiding the ABA problem in
> +    the upcoming non-blocking ring implementation. (32-bit builds are
> +    unaffected by this change.)
> +  - rte_ring_get_memsize() will get a new ``flags`` parameter, so it can
> +    calculate the memory required for rings that require more than 8B per 
> entry
> +    (such as the upcoming non-blocking ring).


Would it be possible to support new and old ring types, either through naming
tricks and/or new ring flag?  Changing things like ring buffer and mbuf are 
basically
a flag day for all users.

I admit to having a personal interest in this since the API/ABI churn is this
project causes vendors to stay on older code. And older code does not correctly
support newer networks.

Reply via email to