On Thu, Dec 07, 2017 at 04:41:04PM -0800, Ferruh Yigit wrote:
> On 11/28/2017 6:58 AM, Pavan Nikhilesh wrote:
> > The channel to port id map is used by event octeontx to map the received
> > wqe to the respective ethdev port.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com>
>
> <...>
>
> > @@ -52,12 +52,18 @@
> >  #define OCTEONTX_VDEV_NR_PORT_ARG          ("nr_port")
> >  #define OCTEONTX_MAX_NAME_LEN                      32
> >
> > +#define OCTEONTX_MAX_BGX_PORTS                     4
> > +#define OCTEONTX_MAX_LMAC_PER_BGX          4
> > +
> >  static inline struct octeontx_nic *
> >  octeontx_pmd_priv(struct rte_eth_dev *dev)
> >  {
> >     return dev->data->dev_private;
> >  }
> >
> > +uint16_t __rte_cache_aligned
> > +octeontx_pchan_map[OCTEONTX_MAX_BGX_PORTS][OCTEONTX_MAX_LMAC_PER_BGX];
>
> defining global variable in header is generally not good a idea, is there a
> reason why not variable defined in octeontx_ethdev.c and exported here, so 
> that
> both octeontx ethdev and eventdev can use it?

The reason extern definition in .h and declaration in .c is not done is that
it would break shared compilation.
The other approach is to do it in  octeontx_mempool area but it wouldnt make
sense.
I could use the mempool approach if it sounds good to you (or) let me know
if any alternate approach comes to your mind.

>
> btw, is build time dependency between octeontx ethdev and eventdev documented
> somewhere?

Currently, there is no build time dependency between event_octeontx and
eth_octeontx i.e everything builds fine with CONFIG_RTE_LIBRTE_OCTEONTX_PMD=n.

Thanks,
Pavan

Reply via email to