[dpdk-dev] [PATCH v2] eal: redefine logtype values

De Lara Guarch, Pablo pablo.de.lara.guarch at intel.com
Thu Apr 13 11:09:23 CEST 2017



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of De Lara Guarch,
> Pablo
> Sent: Thursday, April 13, 2017 9:32 AM
> To: Olivier MATZ
> Cc: thomas.monjalon at 6wind.com; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] eal: redefine logtype values
> 
> Hi Olivier,
> 
> > -----Original Message-----
> > From: Olivier MATZ [mailto:olivier.matz at 6wind.com]
> > Sent: Wednesday, April 12, 2017 8:24 PM
> > To: De Lara Guarch, Pablo
> > Cc: thomas.monjalon at 6wind.com; dev at dpdk.org
> > Subject: Re: [PATCH v2] eal: redefine logtype values
> >
> > Hi Pablo,
> >
> >
> > On Wed, 12 Apr 2017 16:35:32 +0100
> > Pablo de Lara <pablo.de.lara.guarch at intel.com> wrote:
> 
> ...
> 
> >
> >
> > Thanks for spotting this issue. I think there is still a problem with
> > the deprecated functions for which we want to keep compat:
> >
> > /* Set global log type */
> > __rte_deprecated void
> > rte_set_log_type(uint32_t type, int enable)
> > {
> > 	if (type < RTE_LOGTYPE_FIRST_EXT_ID) {
> > 		if (enable)
> > 			rte_logs.type |= type;
> > 		else
> > 			rte_logs.type &= ~type;
> > 	}
> >
> > 	if (enable)
> > 		rte_log_set_level(type, 0);
> > 	else
> > 		rte_log_set_level(type, RTE_LOG_DEBUG);
> > }
> >
> > /* Get global log type */
> > __rte_deprecated uint32_t
> > rte_get_log_type(void)
> > {
> > 	return rte_logs.type;
> > }
> >
> >
> > There is a problem in these functions because they expect bitmasks
> > for the first part.
> >
> > I does not look so easy to both fix the issue and keep a full compat
> > with previous functions.
> >
> > The first solution is your patch + add a shift in rte_set_log_type().
> > It would work except if an application uses rte_get_log_type() and masks
> > the result with a RTE_LOGTYPE_* (which will not be a bitmask). I think
> > it's a rare case.
> >
> > The second approach would be to define new constants for the new
> > functions and keep the old ones for the old functions. This approach
> > is probably more confusing. It also requires to check the doc and
> > examples again.
> >
> > Any opinion?
> > I would prefer the first solution. If you want I can send a patch
> > updated based on yours.
> 
> Oh yes, I missed that too. First option looks ok to me, so send a patch if you
> like.

Hi Olivier,

I just saw a comment from Stephen Hemminger, so do not send the patch yet, as I am making changes to the v2.
Actually, I can make this change too, since it is a minor one.

Thanks,
Pablo




More information about the dev mailing list