From: Stephen Hemminger <stephen@networkplumber.org>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH 01/11] avp: implement dynamic logging
Date: Wed, 20 Dec 2017 10:58:04 -0800 [thread overview]
Message-ID: <20171220105804.5ac92c42@xeon-e3> (raw)
In-Reply-To: <6170a4ed-87ff-c750-f3f3-a38e192e6698@intel.com>
On Tue, 19 Dec 2017 17:53:50 -0800
Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> On 12/18/2017 10:38 PM, Stephen Hemminger wrote:
> > All PMD should be using dynamic log levels.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > ---
> > config/common_base | 1 -
> > drivers/net/avp/avp_ethdev.c | 10 ++++++++++
> > drivers/net/avp/avp_logs.h | 9 ++++-----
> > 3 files changed, 14 insertions(+), 6 deletions(-)
> >
> > diff --git a/config/common_base b/config/common_base
> > index e74febef4848..f775ec96184c 100644
> > --- a/config/common_base
> > +++ b/config/common_base
> > @@ -441,7 +441,6 @@ CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=n
> > CONFIG_RTE_LIBRTE_AVP_PMD=n
> > CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=n
> > CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=n
> > -CONFIG_RTE_LIBRTE_AVP_DEBUG_DRIVER=y
> > CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=n
> >
> > #
> > diff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c
> > index 9b342bfa3ae8..deb6f355d3ef 100644
> > --- a/drivers/net/avp/avp_ethdev.c
> > +++ b/drivers/net/avp/avp_ethdev.c
> > @@ -60,6 +60,7 @@
> >
> > #include "avp_logs.h"
> >
> > +int avp_logtype_driver;
> >
> > static int avp_dev_create(struct rte_pci_device *pci_dev,
> > struct rte_eth_dev *eth_dev);
> > @@ -2312,3 +2313,12 @@ avp_dev_stats_reset(struct rte_eth_dev *eth_dev)
> >
> > RTE_PMD_REGISTER_PCI(net_avp, rte_avp_pmd);
> > RTE_PMD_REGISTER_PCI_TABLE(net_avp, pci_id_avp_map);
> > +
> > +RTE_INIT(avp_init_log);
> > +static void
> > +avp_init_log(void)
> > +{
> > + avp_logtype_driver = rte_log_register("pmd.avp.driver");
> > + if (avp_logtype_driver >= 0)
> > + rte_log_set_level(avp_logtype_driver, RTE_LOG_NOTICE);
> > +}
>
> This can be done later as well but what do you think creating a macro [1], so
> that driver part can become just:
>
> PMD_INIT_LOG(avp, init, NOTICE);
>
>
>
> [1] something like:
> #define INIT_LOG_VAR_NAME(pmd, type) logtype_ ## pmd ## _ ## type
> #define INIT_LOG_FUNC_NAME(pmd, type) log_ ## pmd ## _ ## type
>
> #define PMD_INIT_LOG(pmd, type, level) \
> int INIT_LOG_VAR_NAME(pmd, type); \
> RTE_INIT(INIT_LOG_FUNC_NAME(pmd, type)); \
> static void INIT_LOG_FUNC_NAME(pmd, type)(void) \
> { \
> INIT_LOG_VAR_NAME(pmd, type) = rte_log_register("pmd."
> RTE_STR(pmd) "." RTE_STR(type)); \
> if (INIT_LOG_VAR_NAME(pmd, type) > 0) \
> rte_log_set_level(INIT_LOG_VAR_NAME(pmd, type),
> RTE_LOG_##level); \
> }
That macro is a little complex. Also, for better or worse, the current
logging is done on a per driver basis. If we want to do something fancier
it should be in common EAL core.
next prev parent reply other threads:[~2017-12-20 18:58 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-19 6:38 [PATCH 00/11] Dynamic logging (just do it) Stephen Hemminger
2017-12-19 6:38 ` [PATCH 01/11] avp: implement dynamic logging Stephen Hemminger
2017-12-20 1:53 ` Ferruh Yigit
2017-12-20 18:58 ` Stephen Hemminger [this message]
2017-12-21 18:02 ` Ferruh Yigit
2017-12-22 13:45 ` Olivier MATZ
2017-12-19 6:38 ` [PATCH 02/11] bnx2x: " Stephen Hemminger
2017-12-20 1:51 ` Ferruh Yigit
2017-12-20 18:58 ` Stephen Hemminger
2017-12-19 6:38 ` [PATCH 03/11] vmxnet3: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 04/11] ixgbe: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 05/11] e1000: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 06/11] virtio: " Stephen Hemminger
2018-01-09 9:18 ` Maxime Coquelin
2017-12-19 6:38 ` [PATCH 07/11] nfp: " Stephen Hemminger
2017-12-20 1:52 ` Ferruh Yigit
2017-12-19 6:38 ` [PATCH 08/11] fm10k: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 09/11] ena: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 10/11] qede: " Stephen Hemminger
2017-12-19 6:38 ` [PATCH 11/11] lio: " Stephen Hemminger
2017-12-20 1:51 ` [PATCH 00/11] Dynamic logging (just do it) Ferruh Yigit
2017-12-20 18:59 ` Stephen Hemminger
2018-01-09 12:10 ` [PATCH v2 01/12] net/avp: implement dynamic logging Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 02/12] net/bnx2x: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 03/12] net/vmxnet3: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 04/12] net/ixgbe: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 05/12] net/e1000: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 06/12] net/virtio: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 07/12] net/nfp: fix build when debug enabled Ferruh Yigit
2018-01-10 12:09 ` Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 08/12] net/nfp: implement dynamic logging Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 09/12] net/fm10k: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 10/12] net/ena: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 11/12] net/qede: " Ferruh Yigit
2018-01-09 12:10 ` [PATCH v2 12/12] net/liquidio: " Ferruh Yigit
2018-01-09 12:23 ` [PATCH v2 01/12] net/avp: " Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171220105804.5ac92c42@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.