[dpdk-dev] [PATCH 2/2] test: proceed if timer subsystem was initialized

Stanisław Kardach kda at semihalf.com
Tue Apr 6 17:31:10 CEST 2021


Hi Thomas,

Thanks for the review.

On Tue, Apr 6, 2021 at 5:24 PM Thomas Monjalon <thomas at monjalon.net> wrote:

> 26/03/2021 11:47, Michal Krawczyk:
> > From: Stanislaw Kardach <kda at semihalf.com>
> >
> > rte_timer_subsystem_init() may return -EALREADY if the timer subsystem
> > was already initialized. This can happen i.e. in PMD code (see
> > eth_ena_dev_init). This is not an error, rather a notification as the
> > initialization function simply returns without any action taken.
>
> Missing these lines:
>
> Fixes: 50247fe03fe0 ("test/timer: exercise new APIs in secondary process")
> Cc: stable at dpdk.org

Will add in V2.

>
>
> > Signed-off-by: Stanislaw Kardach <kda at semihalf.com>
> > Reviewed-by: Michal Krawczyk <mk at semihalf.com>
> > ---
> >  app/test/test.c | 11 ++++++-----
> >  1 file changed, 6 insertions(+), 5 deletions(-)
> >
> > diff --git a/app/test/test.c b/app/test/test.c
> > index 624dd48042..864523ed61 100644
> > --- a/app/test/test.c
> > +++ b/app/test/test.c
> > @@ -134,8 +134,13 @@ main(int argc, char **argv)
> >               goto out;
> >       }
> >
> > +     argv += ret;
> > +
> > +     prgname = argv[0];
> > +
> >  #ifdef RTE_LIB_TIMER
> > -     if (rte_timer_subsystem_init() < 0) {
> > +     ret = rte_timer_subsystem_init();
> > +     if (ret < 0 && ret != -EALREADY) {
> >               ret = -1;
> >               goto out;
> >       }
> > @@ -146,10 +151,6 @@ main(int argc, char **argv)
> >               goto out;
> >       }
> >
> > -     argv += ret;
> > -
> > -     prgname = argv[0];
> > -
>
> How this change for argv/prgname is related to the fix?
>
This patch saves the return value of  rte_timer_subsystem_init() in ret
which overwrites the previous ret that held the number of arguments
consumed by rte_eal_init(). Similarly because rte_eal_init() reshuffles
argv, the prgname is effectively at argv[ret]. So I need to move this logic
before the timer subsystem check.


More information about the dev mailing list