<...snipped...>

> >
> > @@ -155,40 +156,41 @@ rte_timer_subsystem_init_v1905(void)
> >     struct rte_timer_data *data;
> >     int i, lcore_id;
> >     static const char *mz_name = "rte_timer_mz";
> > +   const size_t data_arr_size =
> > +                           RTE_MAX_DATA_ELS *
> sizeof(*rte_timer_data_arr);
> > +   bool do_full_init;
> >
> >     if (rte_timer_subsystem_initialized)
> >             return -EALREADY;
> >
> > -   if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> > -           mz = rte_memzone_lookup(mz_name);
> > -           if (mz == NULL)
> > -                   return -EEXIST;
> > +lookup:
> > +   mz = rte_memzone_lookup(mz_name);
> 
> Wouldn't it be better to attempt to reserve outright, and then do a lookup on
> EEXIST?

It's probably the expected order;  I've made the change and submitted v2.

Thanks for the review,
Erik

> 
> > +   if (mz == NULL) {
> > +           mz = rte_memzone_reserve_aligned(mz_name,
> data_arr_size,
> > +                           SOCKET_ID_ANY, 0, RTE_CACHE_LINE_SIZE);
> > +           if (mz == NULL) {
> > +                   if (rte_errno == EEXIST)
> > +                           goto lookup;
> >
> 
> 
> --
> Thanks,
> Anatoly

Reply via email to