[PATCH v2 08/12] net/ngbe: fix debug log

Ferruh Yigit ferruh.yigit at intel.com
Wed Feb 9 20:07:09 CET 2022


On 2/9/2022 10:42 AM, Jiawen Wu wrote:
> Remove 'DEBUGFUNC' due to too many invalid debug log prints. And fix
> that double line was added by using 'DEBUGOUT'.
> 
> Fixes: cc934df178ab ("net/ngbe: add log and error types")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>
> ---
>   drivers/net/ngbe/ngbe_logs.h | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ngbe/ngbe_logs.h b/drivers/net/ngbe/ngbe_logs.h
> index fd306419e6..b7d78fb400 100644
> --- a/drivers/net/ngbe/ngbe_logs.h
> +++ b/drivers/net/ngbe/ngbe_logs.h
> @@ -15,9 +15,12 @@ extern int ngbe_logtype_init;
>   		"%s(): " fmt "\n", __func__, ##args)
>   
>   extern int ngbe_logtype_driver;
> -#define PMD_DRV_LOG(level, fmt, args...) \
> +#define PMD_TLOG_DRIVER(level, fmt, args...) \
>   	rte_log(RTE_LOG_ ## level, ngbe_logtype_driver, \
> -		"%s(): " fmt "\n", __func__, ##args)
> +		"%s(): " fmt, __func__, ##args)
> +
> +#define PMD_DRV_LOG(level, fmt, args...) \
> +	PMD_TLOG_DRIVER(level, fmt "\n", ## args)
>   

Both 'DEBUGOUT' and 'PMD_DRV_LOG(DEBUG, ..' are in use for same thing,
but one appends '\n' other doesn't, this is very error prune and there
are already wrong usage in the driver.
I think no need to add complexity for something as simple as this, what do
you think to unify the DEBUG level macros, at least unify the line ending
behavior?


>   #ifdef RTE_ETHDEV_DEBUG_RX
>   extern int ngbe_logtype_rx;
> @@ -37,10 +40,10 @@ extern int ngbe_logtype_tx;
>   #define PMD_TX_LOG(level, fmt, args...) do { } while (0)
>   #endif
>   
> -#define TLOG_DEBUG(fmt, args...)  PMD_DRV_LOG(DEBUG, fmt, ##args)
> +#define TLOG_DEBUG(fmt, args...)  PMD_TLOG_DRIVER(DEBUG, fmt, ##args)
>   
>   #define DEBUGOUT(fmt, args...)    TLOG_DEBUG(fmt, ##args)
>   #define PMD_INIT_FUNC_TRACE()     TLOG_DEBUG(" >>")

What is difference between 'PMD_INIT_FUNC_TRACE' and 'DEBUGFUNC'?
As far as I can see they are for same reason, and both macros are
used. If they are for same reason can you please unify the usage?

> -#define DEBUGFUNC(fmt)            TLOG_DEBUG(fmt)
> +#define DEBUGFUNC(fmt)            do { } while (0)

If 'DEBUGFUNC' can be removed, why not removing from the code, instead
of above define? This is your driver, you have full control on it.



More information about the stable mailing list