Snipped
> 
> > +struct topology_config {
> > +#ifdef RTE_EAL_HWLOC_TOPOLOGY_PROBE
> > +     hwloc_topology_t topology;
> > +#endif
> > +
> > +     /* domain count */
> > +     uint16_t l1_count;
> > +     uint16_t l2_count;
> > +     uint8_t l3_count;
> > +     uint8_t io_count;
> > +
> > +     /* total cores under all domain */
> > +     uint16_t l1_core_count;
> > +     uint16_t l2_core_count;
> > +     uint16_t l3_core_count;
> > +     uint16_t io_core_count;
> > +
> > +     /* two dimensional array for each domain */
> > +     struct core_domain_mapping **l1;
> > +     struct core_domain_mapping **l2;
> > +     struct core_domain_mapping **l3;
> > +     struct core_domain_mapping **io; }; extern struct
> > +topology_config topo_cnfg;
> > +
> 
> To work with primary/secondary process model, it might be better to keep this 
> info
> in hugpage/shared memory. I.e put topology_config into space allocated with
> rte_malloc() and populated by primary process.

Initially we did use `rte_memzone_reserve` and moved it under `rte_cnfg 
structure` for primary and secondary.
Exploring on the use cases we noticed in multiprocessor scenarios, lcore of the 
primary did not share. Hence we moved to using `malloc` as local allocator.

We can easily move to rte_malloc, but do we need to share the HW topology based 
lcore grouping to multi-process?

Reply via email to