All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Howard Wang <howard_wang@realsil.com.cn>
Cc: <dev@dpdk.org>, <pro_nic_dpdk@realtek.com>
Subject: Re: [PATCH v2 02/18] net/r8169: add logging structure
Date: Thu, 17 Oct 2024 09:32:01 -0700	[thread overview]
Message-ID: <20241017093201.061c3407@hermes.local> (raw)
In-Reply-To: <20241017063200.26101-3-howard_wang@realsil.com.cn>

On Thu, 17 Oct 2024 14:31:44 +0800
Howard Wang <howard_wang@realsil.com.cn> wrote:

> Implement logging macros for debug purposes.
> 
> Signed-off-by: Howard Wang <howard_wang@realsil.com.cn>
> ---
>  drivers/net/r8169/r8169_ethdev.c | 40 ++++++++++++++++++++++++
>  drivers/net/r8169/r8169_logs.h   | 53 ++++++++++++++++++++++++++++++++
>  2 files changed, 93 insertions(+)
>  create mode 100644 drivers/net/r8169/r8169_logs.h
> 
> diff --git a/drivers/net/r8169/r8169_ethdev.c b/drivers/net/r8169/r8169_ethdev.c
> index e5f8857304..09e12fb56d 100644
> --- a/drivers/net/r8169/r8169_ethdev.c
> +++ b/drivers/net/r8169/r8169_ethdev.c
> @@ -177,3 +177,43 @@ RTE_PMD_REGISTER_PCI(net_r8169, rte_r8169_pmd);
>  RTE_PMD_REGISTER_PCI_TABLE(net_r8169, pci_id_r8169_map);
>  RTE_PMD_REGISTER_KMOD_DEP(net_r8169, "* igb_uio | uio_pci_generic | vfio-pci");
>  
> +int r8169_logtype_init;
> +int r8169_logtype_driver;
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_RX
> +int r8169_logtype_rx;
> +#endif
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX
> +int r8169_logtype_tx;
> +#endif
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX_FREE
> +int r8169_logtype_tx_free;
> +#endif
> +
> +RTE_INIT(r8169_init_log)
> +{
> +	r8169_logtype_init = rte_log_register("pmd.net.r8169.init");
> +	if (r8169_logtype_init >= 0)
> +		rte_log_set_level(r8169_logtype_init, RTE_LOG_NOTICE);
> +	r8169_logtype_driver = rte_log_register("pmd.net.r8169.driver");
> +	if (r8169_logtype_driver >= 0)
> +		rte_log_set_level(r8169_logtype_driver, RTE_LOG_NOTICE);
> +#ifdef RTE_LIBRTE_R8169_DEBUG_RX
> +	r8169_logtype_rx = rte_log_register("pmd.net.r8169.rx");
> +	if (r8169_logtype_rx >= 0)
> +		rte_log_set_level(r8169_logtype_rx, RTE_LOG_DEBUG);
> +#endif
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX
> +	r8169_logtype_tx = rte_log_register("pmd.net.r8169.tx");
> +	if (r8169_logtype_tx >= 0)
> +		rte_log_set_level(r8169_logtype_tx, RTE_LOG_DEBUG);
> +#endif
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX_FREE
> +	r8169_logtype_tx_free = rte_log_register("pmd.net.r8169.tx_free");
> +	if (r8169_logtype_tx_free >= 0)
> +		rte_log_set_level(r8169_logtype_tx_free, RTE_LOG_DEBUG);
> +#endif
> +}
> +
> diff --git a/drivers/net/r8169/r8169_logs.h b/drivers/net/r8169/r8169_logs.h
> new file mode 100644
> index 0000000000..6ce5b4b5ac
> --- /dev/null
> +++ b/drivers/net/r8169/r8169_logs.h
> @@ -0,0 +1,53 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(c) 2024 Realtek Corporation. All rights reserved
> + */
> +
> +#ifndef _R8169_LOGS_H_
> +#define _R8169_LOGS_H_
> +
> +#include <rte_log.h>
> +
> +extern int r8169_logtype_init;
> +#define PMD_INIT_LOG(level, fmt, args...) \
> +	rte_log(RTE_LOG_ ## level, r8169_logtype_init, \
> +		"%s(): " fmt "\n", __func__, ##args)
> +
> +#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_RX
> +extern int r8169_logtype_rx;
> +#define PMD_RX_LOG(level, fmt, args...)			\
> +	rte_log(RTE_LOG_ ## level, r8169_logtype_rx,	\
> +		"%s(): " fmt "\n", __func__, ## args)
> +#else
> +#define PMD_RX_LOG(level, fmt, args...) do { } while (0)
> +#endif
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX
> +extern int r8169_logtype_tx;
> +#define PMD_TX_LOG(level, fmt, args...)			\
> +	rte_log(RTE_LOG_ ## level, r8169_logtype_tx,	\
> +		"%s(): " fmt "\n", __func__, ## args)
> +#else
> +#define PMD_TX_LOG(level, fmt, args...) do { } while (0)
> +#endif
> +
> +#ifdef RTE_LIBRTE_R8169_DEBUG_TX_FREE
> +extern int r8169_logtype_tx_free;
> +#define PMD_TX_FREE_LOG(level, fmt, args...)			\
> +	rte_log(RTE_LOG_ ## level, r8169_logtype_tx_free,	\
> +		"%s(): " fmt "\n", __func__, ## args)
> +#else
> +#define PMD_TX_FREE_LOG(level, fmt, args...) do { } while (0)
> +#endif
> +
> +extern int r8169_logtype_driver;
> +#define PMD_DRV_LOG_RAW(level, fmt, args...) \
> +	rte_log(RTE_LOG_ ## level, r8169_logtype_driver, "%s(): " fmt, \
> +		__func__, ## args)
> +
> +#define PMD_DRV_LOG(level, fmt, args...) \
> +	PMD_DRV_LOG_RAW(level, fmt "\n", ## args)
> +
> +#endif /* _R8169_LOGS_H_ */

Latest DPDK has different better macros for this which you could use.

_coding style issues_


Warning in drivers/net/r8169/r8169_logs.h:
Prefer RTE_LOG_LINE/RTE_LOG_DP_LINE
Warning in drivers/net/r8169/r8169_logs.h:
Do not use variadic argument pack in macros

  reply	other threads:[~2024-10-17 16:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-17  6:31 [PATCH v2 00/18] net/r8169: add r8169 pmd to dpdk Howard Wang
2024-10-17  6:31 ` [PATCH v2 01/18] net/r8169: add PMD driver skeleton Howard Wang
2024-10-17 16:30   ` Stephen Hemminger
2024-10-17  6:31 ` [PATCH v2 02/18] net/r8169: add logging structure Howard Wang
2024-10-17 16:32   ` Stephen Hemminger [this message]
2024-10-17  6:31 ` [PATCH v2 03/18] net/r8169: add hardware registers access routines Howard Wang
2024-10-17 16:34   ` Stephen Hemminger
2024-10-18  3:41     ` 答复: " 王颢
2024-10-18 16:32       ` Stephen Hemminger
2024-10-17  6:31 ` [PATCH v2 04/18] net/r8169: implement core logic for Tx/Rx Howard Wang
2024-10-17  6:31 ` [PATCH v2 05/18] net/r8169: add support for hw config Howard Wang
2024-10-17 16:35   ` Stephen Hemminger
2024-10-18  5:45     ` 答复: " 王颢
2024-10-18 16:33       ` Stephen Hemminger
2024-10-17  6:31 ` [PATCH v2 06/18] net/r8169: add phy registers access routines Howard Wang
2024-10-17  6:31 ` [PATCH v2 07/18] net/r8169: add support for hardware operations Howard Wang
2024-10-17  6:31 ` [PATCH v2 08/18] net/r8169: add support for phy configuration Howard Wang
2024-10-17  6:31 ` [PATCH v2 09/18] net/r8169: add support for hw initialization Howard Wang
2024-10-17  6:31 ` [PATCH v2 10/18] net/r8169: add link status and interrupt management Howard Wang
2024-10-17  6:31 ` [PATCH v2 11/18] net/r8169: implement Rx path Howard Wang
2024-10-17 16:11   ` Stephen Hemminger
2024-10-18  2:02     ` 答复: " 王颢
2024-10-18 16:39       ` Stephen Hemminger
2024-10-17  6:31 ` [PATCH v2 12/18] net/r8169: implement Tx path Howard Wang
2024-10-17  8:13   ` [PATCH " Howard Wang
2024-10-17  6:31 ` [PATCH v2 13/18] net/r8169: implement device statistics Howard Wang
2024-10-17  6:31 ` [PATCH v2 14/18] net/r8169: implement promisc and allmulti modes Howard Wang
2024-10-17  6:31 ` [PATCH v2 15/18] net/r8169: impelment MTU configuration Howard Wang
2024-10-17  6:31 ` [PATCH v2 16/18] net/r8169: add support for getting fw version Howard Wang
2024-10-17  6:31 ` [PATCH v2 17/18] net/r8169: add driver_start and driver_stop Howard Wang
2024-10-17  6:32 ` [PATCH v2 18/18] doc/guides/nics: add documents for r8169 pmd Howard Wang
2024-10-17 16:43   ` Stephen Hemminger
2024-10-17 16:41 ` [PATCH v2 00/18] net/r8169: add r8169 pmd to dpdk Stephen Hemminger

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=20241017093201.061c3407@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=howard_wang@realsil.com.cn \
    --cc=pro_nic_dpdk@realtek.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.