Hi Olivier, > -----Original Message----- > From: Olivier MATZ [mailto:olivier.m...@6wind.com] > Sent: Wednesday, April 12, 2017 8:24 PM > To: De Lara Guarch, Pablo > Cc: thomas.monja...@6wind.com; dev@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.gua...@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.