[dpdk-dev] [PATCH v2 05/10] fslmc: identify internal only functions and tag them as __rte_internal

Neil Horman nhorman at tuxdriver.com
Thu Apr 2 13:30:35 CEST 2020


On Thu, Apr 02, 2020 at 09:49:20AM +0000, Hemant Agrawal wrote:
> HI Neil,
> > On Mon, Jun 17, 2019 at 07:30:34AM +0000, Hemant Agrawal wrote:
> > > HI Neil,
> > > 	The same code of low-level HW driver is shared with different OSs
> > (kernel, uboot etc) and different framework. If we introduce rte_internal in
> > these low-level hw files, it will be a big maintenance issue for NXP. Everytime
> > there is a change or upgrade, it will be a pain.
> > >
> > Why?  If you don't want to support the use of a project specific tag in other
> > projects, you can add a global cflag to those like this:
> > -D__rte_experimental
> > 
> > and the code will be eliminated
> > 
> > I'm not sure what you see as difficult here
> [Hemant] 
> Do, we have an alternate for this approach?
> 
No, what issue do you see with the approach suggested above?


> Also, w.r.t to changes, at present you are adding the "__rte_internal" after the function return type. Is it possible to add it before the function return type and limiting the changes to header file only i.e. something similar to the current approach of "__rte_experimental"
The __rte_internal macro expands to a function attribute, and the gcc manual
mandates that it be inserted between the return type and function name.  As for
its application in both the prototypes and declarations, I'd need to go back and
look again, I can't recall if that can be done.

> => current approach
> >   * Return:	'0' on Success; Error code otherwise.
> >   */
> > -int dpbp_open(struct fsl_mc_io *mc_io,
> > +int __rte_internal dpbp_open(struct fsl_mc_io *mc_io,
> >  	      uint32_t cmd_flags,
> >  	      int dpbp_id,
> >  	      uint16_t *token)
> 
> => approach used in rte_experimental
> >__rte_experimental
> >uint16_t
> >rte_bbdev_count(void);
> 
> This will help in minimizing the changes.
> 
> Regards,
> Hemant
> 
> > 
> > Neil
> > 
> > > Regards,
> > > Hemant
> > >
> > > > -----Original Message-----
> > > > From: Neil Horman <nhorman at tuxdriver.com>
> > > > Sent: Thursday, June 13, 2019 7:54 PM
> > > > To: dev at dpdk.org
> > > > Cc: Neil Horman <nhorman at tuxdriver.com>; Jerin Jacob Kollanukkaran
> > > > <jerinj at marvell.com>; Bruce Richardson <bruce.richardson at intel.com>;
> > > > Thomas Monjalon <thomas at monjalon.net>; Hemant Agrawal
> > > > <hemant.agrawal at nxp.com>; Shreyansh Jain <shreyansh.jain at nxp.com>
> > > > Subject: [PATCH v2 05/10] fslmc: identify internal only functions
> > > > and tag them as __rte_internal
> > > > Importance: High
> > > >
> > > > Identify functions in fslmc bus driver which are internal (based on
> > > > their not having an rte_ prefix) and tag them with __rte_internal
> > > >
> > >
> 


More information about the dev mailing list