[dpdk-dev] [PATCH v10 0/6] lib/ring: APIs to support custom element size

David Marchand david.marchand at redhat.com
Sun Jan 19 20:31:54 CET 2020


On Sat, Jan 18, 2020 at 8:33 PM Honnappa Nagarahalli
<honnappa.nagarahalli at arm.com> wrote:
>
> The current rte_ring hard-codes the type of the ring element to 'void *',
> hence the size of the element is hard-coded to 32b/64b. Since the ring
> element type is not an input to rte_ring APIs, it results in couple
> of issues:
>
> 1) If an application requires to store an element which is not 64b, it
>    needs to write its own ring APIs similar to rte_event_ring APIs. This
>    creates additional burden on the programmers, who end up making
>    work-arounds and often waste memory.
> 2) If there are multiple libraries that store elements of the same
>    type, currently they would have to write their own rte_ring APIs. This
>    results in code duplication.
>
> This patch adds new APIs to support configurable ring element size.
> The APIs support custom element sizes by allowing to define the ring
> element to be a multiple of 32b.
>
> The aim is to achieve same performance as the existing ring
> implementation.
>
> v10
>  - Improved comments in test case files (Olivier)
>  - Fixed possible memory leaks (Olivier)
>  - Changed 'test_ring_with_exact_size' to use unaligned
>    addresses (Konstantin)
>  - Changed the commit message for eventdev (Jerin)

Thanks for working on this and a big thanks to all reviewers too.

The CI has been switched to Ubuntu 18.04, so that we won't hit the
Travis timeout with clang 7.
There is still some work on the ABI checks, because of the abidiff
report on rte_cuckoo_hash.h I mentioned: passing the public headers to
abidw/abidiff should do the trick.


Series applied.

--
David Marchand



More information about the dev mailing list