> 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.