[dpdk-dev] [PATCH v3 3/5] test/ring: move common function to header file
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Sat Oct 24 01:54:22 CEST 2020
<snip>
>
> > Move test_ring_inc_ptr to header file so that it can be used by
> > functions in other files.
> >
> > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli at arm.com>
> > Reviewed-by: Dharmik Thakkar <dharmik.thakkar at arm.com>
> > ---
> > app/test/test_ring.c | 11 ----------- app/test/test_ring.h | 11
> > +++++++++++
> > 2 files changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/app/test/test_ring.c b/app/test/test_ring.c index
> > a62cb263b..329d538a9 100644
> > --- a/app/test/test_ring.c
> > +++ b/app/test/test_ring.c
> > @@ -243,17 +243,6 @@ test_ring_deq_impl(struct rte_ring *r, void **obj,
> int esize, unsigned int n,
> > NULL);
> > }
> >
> > -static void**
> > -test_ring_inc_ptr(void **obj, int esize, unsigned int n) -{
> > - /* Legacy queue APIs? */
> > - if ((esize) == -1)
> > - return ((void **)obj) + n;
> > - else
> > - return (void **)(((uint32_t *)obj) +
> > - (n * esize / sizeof(uint32_t)));
> > -}
> > -
> > static void
> > test_ring_mem_init(void *obj, unsigned int count, int esize) { diff
> > --git a/app/test/test_ring.h b/app/test/test_ring.h index
> > d4b15af7c..16697ee02 100644
> > --- a/app/test/test_ring.h
> > +++ b/app/test/test_ring.h
> > @@ -42,6 +42,17 @@ test_ring_create(const char *name, int esize,
> unsigned int count,
> > (socket_id), (flags));
> > }
> >
> > +static inline void**
> > +test_ring_inc_ptr(void **obj, int esize, unsigned int n) {
> > + /* Legacy queue APIs? */
> > + if ((esize) == -1)
> > + return ((void **)obj) + n;
> > + else
> > + return (void **)(((uint32_t *)obj) +
> > + (n * esize / sizeof(uint32_t))); }
>
> In all these pointer arithemetics, why do you need 'void **'?
> Why just not 'void*', or even uintptr_t?
I will change it as follows:
static inline void*
test_ring_inc_ptr(void *obj, int esize, unsigned int n)
{
int sz;
sz = esize;
/* Legacy queue APIs? */
if ((esize) == -1)
sz = sizeof(void *);
return (void *)((uint32_t *)obj + (n * sz / sizeof(uint32_t)));
}
>
>
> > +
> > static __rte_always_inline unsigned int test_ring_enqueue(struct
> > rte_ring *r, void **obj, int esize, unsigned int n,
> > unsigned int api_type)
> > --
> > 2.17.1
More information about the dev
mailing list