From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <helin.zhang@intel.com>
Received: from mga14.intel.com (mga14.intel.com [192.55.52.115])
 by dpdk.org (Postfix) with ESMTP id 773CB5A8A
 for <dev@dpdk.org>; Tue, 14 Apr 2015 10:44:25 +0200 (CEST)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga103.fm.intel.com with ESMTP; 14 Apr 2015 01:44:24 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.11,575,1422950400"; d="scan'208";a="708629739"
Received: from kmsmsx152.gar.corp.intel.com ([172.21.73.87])
 by fmsmga002.fm.intel.com with ESMTP; 14 Apr 2015 01:44:23 -0700
Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by
 KMSMSX152.gar.corp.intel.com (172.21.73.87) with Microsoft SMTP Server (TLS)
 id 14.3.224.2; Tue, 14 Apr 2015 16:44:22 +0800
Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.204]) by
 SHSMSX151.ccr.corp.intel.com ([10.239.6.50]) with mapi id 14.03.0224.002;
 Tue, 14 Apr 2015 16:44:21 +0800
From: "Zhang, Helin" <helin.zhang@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>
Thread-Topic: [PATCH 1/2] ixgbe: silence noisy log messages
Thread-Index: AQHQc6GZISELUadS8kW29ampmoq2+Z1MNVmQ
Date: Tue, 14 Apr 2015 08:44:20 +0000
Message-ID: <F35DEAC7BCE34641BA9FAC6BCA4A12E70A843678@SHSMSX104.ccr.corp.intel.com>
References: <1428679105-8115-1-git-send-email-stephen@networkplumber.org>
 <1428679105-8115-2-git-send-email-stephen@networkplumber.org>
In-Reply-To: <1428679105-8115-2-git-send-email-stephen@networkplumber.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.40]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 1/2] ixgbe: silence noisy log messages
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Apr 2015 08:44:26 -0000



> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Friday, April 10, 2015 11:18 PM
> To: Zhang, Helin; Ananyev, Konstantin
> Cc: dev@dpdk.org; Stephen Hemminger
> Subject: [PATCH 1/2] ixgbe: silence noisy log messages
>=20
> The ixgbe driver likes to be far to chatty in the system log which is goo=
d for the
> original developer but not good for a production product.
>=20
> Reduce the log spam by doing:
>  * All the normal messages should be changed from INFO to DEBUG.
>  * The log messages should be done with RTE_LOG so that they can be
>    compiled out if RTE_LOG_LEVEL is set.
>  * The link state print routine prints more than is necessary
>    PCI information is already known (earlier in log) and has
>    no purpose here.
>=20
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 41 ++++++++++++++++---------------=
------
>  lib/librte_pmd_ixgbe/ixgbe_fdir.c   |  2 +-
>  lib/librte_pmd_ixgbe/ixgbe_logs.h   |  3 +--
>  lib/librte_pmd_ixgbe/ixgbe_rxtx.c   | 14 ++++++-------
>  4 files changed, 27 insertions(+), 33 deletions(-)
>=20
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
> b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
> index 5caee22..adc0fb9 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.c
> @@ -569,8 +569,8 @@ ixgbe_dev_queue_stats_mapping_set(struct
> rte_eth_dev *eth_dev,
>  		(hw->mac.type !=3D ixgbe_mac_X550EM_x))
>  		return -ENOSYS;
>=20
> -	PMD_INIT_LOG(INFO, "Setting port %d, %s queue_id %d to stat
> index %d",
> -		     (int)(eth_dev->data->port_id), is_rx ? "RX" : "TX",
> +	PMD_INIT_LOG(DEBUG, "Setting port %u, %s queue_id %d to stat
> index %d",
> +		     eth_dev->data->port_id, is_rx ? "RX" : "TX",
>  		     queue_id, stat_idx);
>=20
>  	n =3D (uint8_t)(queue_id / NB_QMAP_FIELDS_PER_QSM_REG); @@ -595,20
> +595,20 @@ ixgbe_dev_queue_stats_mapping_set(struct rte_eth_dev
> *eth_dev,
>  	else
>  		stat_mappings->rqsmr[n] |=3D qsmr_mask;
>=20
> -	PMD_INIT_LOG(INFO, "Set port %d, %s queue_id %d to stat index %d",
> -		     (int)(eth_dev->data->port_id), is_rx ? "RX" : "TX",
> +	PMD_INIT_LOG(DEBUG, "Set port %u, %s queue_id %d to stat index %d",
> +		     eth_dev->data->port_id, is_rx ? "RX" : "TX",
>  		     queue_id, stat_idx);
> -	PMD_INIT_LOG(INFO, "%s[%d] =3D 0x%08x", is_rx ? "RQSMR" : "TQSM", n,
> +	PMD_INIT_LOG(DEBUG, "%s[%d] =3D 0x%08x", is_rx ? "RQSMR" : "TQSM",
> n,
>  		     is_rx ? stat_mappings->rqsmr[n] : stat_mappings->tqsm[n]);
>=20
>  	/* Now write the mapping in the appropriate register */
>  	if (is_rx) {
> -		PMD_INIT_LOG(INFO, "Write 0x%x to RX IXGBE stat mapping
> reg:%d",
> +		PMD_INIT_LOG(DEBUG, "Write 0x%x to RX IXGBE stat mapping
> reg:%d",
>  			     stat_mappings->rqsmr[n], n);
>  		IXGBE_WRITE_REG(hw, IXGBE_RQSMR(n),
> stat_mappings->rqsmr[n]);
>  	}
>  	else {
> -		PMD_INIT_LOG(INFO, "Write 0x%x to TX IXGBE stat mapping
> reg:%d",
> +		PMD_INIT_LOG(DEBUG, "Write 0x%x to TX IXGBE stat mapping
> reg:%d",
>  			     stat_mappings->tqsm[n], n);
>  		IXGBE_WRITE_REG(hw, IXGBE_TQSM(n), stat_mappings->tqsm[n]);
>  	}
> @@ -752,7 +752,7 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev)
>  			ixgbe_set_tx_function(eth_dev, txq);
>  		} else {
>  			/* Use default TX function if we get here */
> -			PMD_INIT_LOG(INFO, "No TX queues configured yet. "
> +			PMD_INIT_LOG(DEBUG, "No TX queues configured yet. "
>  			                   "Using default TX function.");
>  		}
>=20
> @@ -1249,7 +1249,7 @@ ixgbe_vlan_hw_strip_disable(struct rte_eth_dev
> *dev, uint16_t queue)
>=20
>  	if (hw->mac.type =3D=3D ixgbe_mac_82598EB) {
>  		/* No queue level support */
> -		PMD_INIT_LOG(INFO, "82598EB not support queue level hw strip");
> +		PMD_INIT_LOG(NOTICE, "82598EB not support queue level hw
> strip");
>  		return;
>  	}
>  	else {
> @@ -1273,7 +1273,7 @@ ixgbe_vlan_hw_strip_enable(struct rte_eth_dev
> *dev, uint16_t queue)
>=20
>  	if (hw->mac.type =3D=3D ixgbe_mac_82598EB) {
>  		/* No queue level supported */
> -		PMD_INIT_LOG(INFO, "82598EB not support queue level hw strip");
> +		PMD_INIT_LOG(NOTICE, "82598EB not support queue level hw
> strip");
>  		return;
>  	}
>  	else {
> @@ -2265,7 +2265,7 @@ ixgbe_dev_interrupt_get_status(struct rte_eth_dev
> *dev)
>=20
>  	/* read-on-clear nic registers here */
>  	eicr =3D IXGBE_READ_REG(hw, IXGBE_EICR);
> -	PMD_DRV_LOG(INFO, "eicr %x", eicr);
> +	PMD_DRV_LOG(DEBUG, "eicr %x", eicr);
>=20
>  	intr->flags =3D 0;
>  	if (eicr & IXGBE_EICR_LSC) {
> @@ -2297,20 +2297,15 @@ ixgbe_dev_link_status_print(struct rte_eth_dev
> *dev)
>  	memset(&link, 0, sizeof(link));
>  	rte_ixgbe_dev_atomic_read_link_status(dev, &link);
>  	if (link.link_status) {
> -		PMD_INIT_LOG(INFO, "Port %d: Link Up - speed %u Mbps - %s",
> -					(int)(dev->data->port_id),
> +		PMD_INIT_LOG(DEBUG, "Port %u: Link Up - speed %u Mbps - %s",
> +					dev->data->port_id,
Forced conversion of (int) here was to fix a compile error on some specific=
 gcc/icc version, if I am not wrong.

>  					(unsigned)link.link_speed,
>  			link.link_duplex =3D=3D ETH_LINK_FULL_DUPLEX ?
>  					"full-duplex" : "half-duplex");
>  	} else {
> -		PMD_INIT_LOG(INFO, " Port %d: Link Down",
> -				(int)(dev->data->port_id));
> -	}
> -	PMD_INIT_LOG(INFO, "PCI Address: %04d:%02d:%02d:%d",
> -				dev->pci_dev->addr.domain,
> -				dev->pci_dev->addr.bus,
> -				dev->pci_dev->addr.devid,
> -				dev->pci_dev->addr.function);
> +		PMD_INIT_LOG(DEBUG, "Port %d: Link Down",
> +				dev->data->port_id);
> +	}
>  }
As suggested by Thomas before, I think you need to put the rework of logs i=
nto another
separate patch, but not combined together with the replacing INFO with DEBU=
G.
This is common for all of this patch set.

>=20
>  /*
> @@ -2947,12 +2942,12 @@ ixgbevf_dev_configure(struct rte_eth_dev *dev)
>  	 */
>  #ifndef RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC
>  	if (!conf->rxmode.hw_strip_crc) {
> -		PMD_INIT_LOG(INFO, "VF can't disable HW CRC Strip");
> +		PMD_INIT_LOG(NOTICE, "VF can't disable HW CRC Strip");
>  		conf->rxmode.hw_strip_crc =3D 1;
>  	}
>  #else
>  	if (conf->rxmode.hw_strip_crc) {
> -		PMD_INIT_LOG(INFO, "VF can't enable HW CRC Strip");
> +		PMD_INIT_LOG(NOTICE, "VF can't enable HW CRC Strip");
>  		conf->rxmode.hw_strip_crc =3D 0;
>  	}
>  #endif
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_fdir.c b/lib/librte_pmd_ixgbe/ixg=
be_fdir.c
> index afc53cb..df6aaee 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_fdir.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_fdir.c
> @@ -384,7 +384,7 @@ ixgbe_set_fdir_flex_conf(struct rte_eth_dev *dev,
>  	fdirm =3D IXGBE_READ_REG(hw, IXGBE_FDIRM);
>=20
>  	if (conf =3D=3D NULL) {
> -		PMD_DRV_LOG(INFO, "NULL pointer.");
> +		PMD_DRV_LOG(ERR, "NULL pointer.");
>  		return -EINVAL;
>  	}
>=20
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_logs.h
> b/lib/librte_pmd_ixgbe/ixgbe_logs.h
> index 572e030..53ba42d 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_logs.h
> +++ b/lib/librte_pmd_ixgbe/ixgbe_logs.h
> @@ -35,8 +35,7 @@
>  #define _IXGBE_LOGS_H_
>=20
>  #define PMD_INIT_LOG(level, fmt, args...) \
> -	rte_log(RTE_LOG_ ## level, RTE_LOGTYPE_PMD, \
> -		"PMD: %s(): " fmt "\n", __func__, ##args)
> +	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ##args)
>=20
>  #ifdef RTE_LIBRTE_IXGBE_DEBUG_INIT
>  #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>") diff --git
> a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index 9da2c7e..34e3b9a 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -1781,23 +1781,23 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev,
> struct ixgbe_tx_queue *txq)
>  	/* Use a simple Tx queue (no offloads, no multi segs) if possible */
>  	if (((txq->txq_flags & IXGBE_SIMPLE_FLAGS) =3D=3D IXGBE_SIMPLE_FLAGS)
>  			&& (txq->tx_rs_thresh >=3D RTE_PMD_IXGBE_TX_MAX_BURST)) {
> -		PMD_INIT_LOG(INFO, "Using simple tx code path");
> +		PMD_INIT_LOG(DEBUG, "Using simple tx code path");
>  #ifdef RTE_IXGBE_INC_VECTOR
>  		if (txq->tx_rs_thresh <=3D RTE_IXGBE_TX_MAX_FREE_BUF_SZ &&
>  				(rte_eal_process_type() !=3D RTE_PROC_PRIMARY ||
>  					ixgbe_txq_vec_setup(txq) =3D=3D 0)) {
> -			PMD_INIT_LOG(INFO, "Vector tx enabled.");
> +			PMD_INIT_LOG(DEBUG, "Vector tx enabled.");
>  			dev->tx_pkt_burst =3D ixgbe_xmit_pkts_vec;
>  		} else
>  #endif
>  		dev->tx_pkt_burst =3D ixgbe_xmit_pkts_simple;
>  	} else {
> -		PMD_INIT_LOG(INFO, "Using full-featured tx code path");
> -		PMD_INIT_LOG(INFO,
> +		PMD_INIT_LOG(DEBUG, "Using full-featured tx code path");
> +		PMD_INIT_LOG(DEBUG,
>  				" - txq_flags =3D %lx " "[IXGBE_SIMPLE_FLAGS=3D%lx]",
>  				(unsigned long)txq->txq_flags,
>  				(unsigned long)IXGBE_SIMPLE_FLAGS);
> -		PMD_INIT_LOG(INFO,
> +		PMD_INIT_LOG(DEBUG,
>  				" - tx_rs_thresh =3D %lu "
> "[RTE_PMD_IXGBE_TX_MAX_BURST=3D%lu]",
>  				(unsigned long)txq->tx_rs_thresh,
>  				(unsigned long)RTE_PMD_IXGBE_TX_MAX_BURST); @@
> -3549,8 +3549,8 @@ void ixgbe_set_rx_function(struct rte_eth_dev *dev)
>  	 *    - Single buffer allocation (the simplest one)
>  	 */
>  	} else if (hw->rx_vec_allowed) {
> -		PMD_INIT_LOG(INFO, "Vector rx enabled, please make sure RX "
> -				   "burst size no less than 32.");
> +		PMD_INIT_LOG(DEBUG, "Vector rx enabled, please make sure RX "
> +				    "burst size no less than 32.");
>=20
>  		dev->rx_pkt_burst =3D ixgbe_recv_pkts_vec;
>  	} else if (hw->rx_bulk_alloc_allowed) {
> --
> 2.1.4

Regards,
Helin