[dpdk-dev] [RFC 4/9] net/avf: enable basic Rx Tx func

Wu, Jingjing jingjing.wu at intel.com
Thu Nov 23 02:17:02 CET 2017



> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Thursday, November 23, 2017 6:39 AM
> To: Wu, Jingjing <jingjing.wu at intel.com>; dev at dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>
> Subject: Re: [dpdk-dev] [RFC 4/9] net/avf: enable basic Rx Tx func
> 
> On 11/21/2017 11:55 PM, Wu, Jingjing wrote:
> >
> >
> >> -----Original Message-----
> >> From: Yigit, Ferruh
> >> Sent: Wednesday, November 22, 2017 8:06 AM
> >> To: Wu, Jingjing <jingjing.wu at intel.com>; dev at dpdk.org
> >> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>
> >> Subject: Re: [dpdk-dev] [RFC 4/9] net/avf: enable basic Rx Tx func
> >>
> >> On 10/20/2017 1:26 AM, Jingjing Wu wrote:
> >>> Signed-off-by: Wenzhuo Lu <wenzhuo.lu at intel.com>
> >>
> >> <...>
> >>
> >>> @@ -214,6 +214,9 @@ CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
> >>>  # Compile burst-oriented AVF PMD driver  #
> >>> CONFIG_RTE_LIBRTE_AVF_PMD=y
> >>> +CONFIG_RTE_LIBRTE_AVF_RX_DUMP=n
> >>> +CONFIG_RTE_LIBRTE_AVF_TX_DUMP=n
> >>
> >> Are these config options used?
> >>
> > Yes, some macros are defined in avf_rxtx.h for dump descriptors. Will merge
> them with AVF_DEBUG_TX/RX.
> >
> >> <...>
> >>
> >>> @@ -49,4 +49,18 @@ extern int avf_logtype_driver;
> >>>  	PMD_DRV_LOG_RAW(level, fmt "\n", ## args)  #define
> >>> PMD_DRV_FUNC_TRACE() PMD_DRV_LOG(DEBUG, " >>")
> >>>
> >>> +#ifdef RTE_LIBRTE_AVF_DEBUG_TX
> >>
> >> Is this defined anywhere?
> > Will merge it with AVF_TX_DUMP.
> >
> >>
> >>> +#define PMD_TX_LOG(level, fmt, args...) \
> >>> +	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
> >>
> >> Instead should RTE_LOG_DP used?
> >> And since other macros uses dynamic log functions, why here use
> >> static method, what do you think using new method for data path logs as
> well?
> >>
> > This is used for fast path debug, so static macro will benefit performance.
> 
> How it will benefit?
> 
> The PMD_TX_LOG macro controlled by a specific compile time option,
> RTE_LIBRTE_AVF_DEBUG_TX. If this config is disabled the logging won't be part
> of all binary at all.
> 
> When that config option enabled, what is the difference with macro and
> dynamic debug call? Eventually both are rte_log calls. Only macro has
> dependency to RTE_LOGTYPE_xxx static definitions.
> 
I was thinking about RTE_LOG, if RTE_LOG_DP, it is fine for performance, but
It cannot distinguish which driver we are going to debug. Because there is
Only one check by RTE_LOG_DP_LEVEL, think about if there are more than one
Drivers, but we just want to debug one of them?
 
Thanks
Jingjing


More information about the dev mailing list