From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id D83E81150 for ; Wed, 23 Jan 2019 23:32:24 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 310C1C07F67C; Wed, 23 Jan 2019 22:32:24 +0000 (UTC) Received: from ktraynor.remote.csb (ovpn-116-24.ams2.redhat.com [10.36.116.24]) by smtp.corp.redhat.com (Postfix) with ESMTP id E2339600C6; Wed, 23 Jan 2019 22:32:22 +0000 (UTC) To: Rasesh Mody , Rasesh Mody Cc: dpdk stable References: <20181214182430.11593-1-ktraynor@redhat.com> <20181214182430.11593-4-ktraynor@redhat.com> From: Kevin Traynor Organization: Red Hat Message-ID: <3678c5bf-4f82-73f3-0b1a-ae685db15e2c@redhat.com> Date: Wed, 23 Jan 2019 23:32:22 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 23 Jan 2019 22:32:24 +0000 (UTC) Subject: Re: [dpdk-stable] patch 'net/bnx2x: cleanup info logs' has been queued to stable release 18.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2019 22:32:25 -0000 On 01/23/2019 11:29 PM, Rasesh Mody wrote: >> From: Kevin Traynor >> Sent: Friday, January 18, 2019 10:34 AM >> >> On 12/14/2018 06:24 PM, Kevin Traynor wrote: >>> Hi, >>> >>> FYI, your patch has been queued to stable release 18.11.1 >>> >>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. >>> It will be pushed if I get no objections before 12/18/18. So please >>> shout if anyone has objections. >>> >>> Also note that after the patch there's a diff of the upstream commit >>> vs the patch applied to the branch. This will indicate if there was >>> any rebasing needed to apply to the stable branch. If there were code >>> changes for rebasing >>> (ie: not only metadata diffs), please double check that the rebase was >>> correctly done. >>> >>> Thanks. >>> >>> Kevin Traynor >>> >>> --- >>> From 638943ff479d53fbdacce84401e64e51d5720682 Mon Sep 17 00:00:00 >> 2001 >>> From: Rasesh Mody >>> Date: Sat, 17 Nov 2018 09:37:40 +0000 >>> Subject: [PATCH] net/bnx2x: cleanup info logs >>> >>> [ upstream commit 4dd60a7a935257f66e8a29cf11e7ca404041c013 ] >>>> Reduced number of INFO logs in BNX2X PMD by converting some INFO >>> logs to DEBUG and few NOTICE logs to INFO, removing extra new lines, >>> printing banner bar once for the adapter and device specific info. >>> >> >> Hi Rahesh, this commit is causing a build failure for bnx2x pmd in 18.08 stable. >> Can you advise of which other patches should be backported for it, or if we >> should drop it from 18.08 stable (it doesn't look critical to me). > > Hi Kevin, > > This commit has a dependency on another commit from Main tree, d5eb8edca213 ("net/bnx2x: update link/PHY management"). > I am sending a fix patch to address the build failure on 18.08 stable. > Hi Rasesh, thanks for checking it. Kevin. > Thanks! > -Rasesh >> >> thanks, >> Kevin. >> >>> Fixes: ba7eeb035a5f ("net/bnx2x: fix logging to include device name") >>> Fixes: 540a211084a7 ("bnx2x: driver core") >>> >>> Signed-off-by: Rasesh Mody >>> --- >>> drivers/net/bnx2x/bnx2x.c | 144 +++++++++++++++---------------- >>> drivers/net/bnx2x/bnx2x.h | 3 +- >>> drivers/net/bnx2x/bnx2x_ethdev.c | 20 ++--- >>> drivers/net/bnx2x/bnx2x_ethdev.h | 1 + >>> drivers/net/bnx2x/ecore_sp.c | 8 +- >>> 5 files changed, 87 insertions(+), 89 deletions(-) >>> >>> diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c >>> index 86c79c289..4c775c163 100644 >>> --- a/drivers/net/bnx2x/bnx2x.c >>> +++ b/drivers/net/bnx2x/bnx2x.c >>> @@ -5810,5 +5810,5 @@ static int bnx2x_set_power_state(struct >> bnx2x_softc *sc, uint8_t state) >>> /* If there is no power capability, silently succeed */ >>> if (!(sc->devinfo.pcie_cap_flags & BNX2X_PM_CAPABLE_FLAG)) { >>> - PMD_DRV_LOG(WARNING, sc, "No power capability"); >>> + PMD_DRV_LOG(INFO, sc, "No power capability"); >>> return 0; >>> } >>> @@ -6919,11 +6919,11 @@ static void bnx2x_link_report_locked(struct >> bnx2x_softc *sc) >>> } >>> >>> - PMD_DRV_LOG(INFO, sc, "Change in link status : cur_data = %lx, >> last_reported_link = %lx\n", >>> - cur_data.link_report_flags, >>> - sc->last_reported_link.link_report_flags); >>> + ELINK_DEBUG_P2(sc, "Change in link status : cur_data = %lx, >> last_reported_link = %lx", >>> + cur_data.link_report_flags, >>> + sc->last_reported_link.link_report_flags); >>> >>> sc->link_cnt++; >>> >>> - PMD_DRV_LOG(INFO, sc, "link status change count = %x\n", sc- >>> link_cnt); >>> + ELINK_DEBUG_P1(sc, "link status change count = %x", >>> + sc->link_cnt); >>> /* report new link params and remember the state for the next time */ >>> rte_memcpy(&sc->last_reported_link, &cur_data, >>> sizeof(cur_data)); @@ -6931,5 +6931,5 @@ static void >> bnx2x_link_report_locked(struct bnx2x_softc *sc) >>> if (bnx2x_test_bit(BNX2X_LINK_REPORT_LINK_DOWN, >>> &cur_data.link_report_flags)) { >>> - PMD_DRV_LOG(INFO, sc, "NIC Link is Down"); >>> + ELINK_DEBUG_P0(sc, "NIC Link is Down"); >>> } else { >>> __rte_unused const char *duplex; @@ -6939,6 +6939,8 @@ >>> static void bnx2x_link_report_locked(struct bnx2x_softc *sc) >>> &cur_data.link_report_flags)) { >>> duplex = "full"; >>> + ELINK_DEBUG_P0(sc, "link set to full >>> + duplex"); >>> } else { >>> duplex = "half"; >>> + ELINK_DEBUG_P0(sc, "link set to half >>> + duplex"); >>> } >>> >>> @@ -7124,5 +7126,5 @@ void bnx2x_periodic_callout(struct bnx2x_softc >> *sc) >>> if ((sc->state != BNX2X_STATE_OPEN) || >>> (atomic_load_acq_long(&sc->periodic_flags) == PERIODIC_STOP)) { >>> - PMD_DRV_LOG(INFO, sc, "periodic callout exit (state=0x%x)", >>> + PMD_DRV_LOG(DEBUG, sc, "periodic callout exit >>> + (state=0x%x)", >>> sc->state); >>> return; >>> @@ -8318,5 +8320,5 @@ static int bnx2x_get_device_info(struct >> bnx2x_softc *sc) >>> ((sc->devinfo.bc_ver >> 16) & 0xff), >>> ((sc->devinfo.bc_ver >> 8) & 0xff)); >>> - PMD_DRV_LOG(INFO, sc, "Bootcode version: %s", sc- >>> devinfo.bc_ver_str); >>> + PMD_DRV_LOG(DEBUG, sc, "Bootcode version: %s", >>> + sc->devinfo.bc_ver_str); >>> >>> /* get the bootcode shmem address */ @@ -11744,40 +11746,34 @@ >>> static const char *get_bnx2x_flags(uint32_t flags) } >>> >>> -/* >>> - * Prints useful adapter info. >>> - */ >>> +/* Prints useful adapter info. */ >>> void bnx2x_print_adapter_info(struct bnx2x_softc *sc) { >>> int i = 0; >>> - __rte_unused uint32_t ext_phy_type; >>> >>> - PMD_INIT_FUNC_TRACE(sc); >>> - if (sc->link_vars.phy_flags & PHY_XGXS_FLAG) >>> - ext_phy_type = ELINK_XGXS_EXT_PHY_TYPE(REG_RD(sc, >>> - sc-> >>> - devinfo.shmem_base >>> - + offsetof(struct >>> - shmem_region, >>> - dev_info.port_hw_config >>> - [0].external_phy_config))); >>> - else >>> - ext_phy_type = ELINK_SERDES_EXT_PHY_TYPE(REG_RD(sc, >>> - sc-> >>> - devinfo.shmem_base >>> - + >>> - offsetof(struct >>> - shmem_region, >>> - dev_info.port_hw_config >>> - [0].external_phy_config))); >>> - >>> - PMD_DRV_LOG(INFO, sc, >> "\n\n===================================\n"); >>> + PMD_DRV_LOG(INFO, sc, >> "========================================"); >>> + /* DPDK and Driver versions */ >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "DPDK", >>> + rte_version()); >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "Driver", >>> + bnx2x_pmd_version()); >>> + /* Firmware versions. */ >>> + PMD_DRV_LOG(INFO, sc, "%12s : %d.%d.%d", >>> + "Firmware", >>> + BNX2X_5710_FW_MAJOR_VERSION, >>> + BNX2X_5710_FW_MINOR_VERSION, >>> + BNX2X_5710_FW_REVISION_VERSION); >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", >>> + "Bootcode", sc->devinfo.bc_ver_str); >>> /* Hardware chip info. */ >>> PMD_DRV_LOG(INFO, sc, "%12s : %#08x", "ASIC", sc->devinfo.chip_id); >>> PMD_DRV_LOG(INFO, sc, "%12s : %c%d", "Rev", (CHIP_REV(sc) >> 12) + >> 'A', >>> (CHIP_METAL(sc) >> 4)); >>> - >>> - /* Bus info. */ >>> - PMD_DRV_LOG(INFO, sc, >>> - "%12s : %d, ", "Bus PCIe", sc->devinfo.pcie_link_width); >>> + /* Bus PCIe info. */ >>> + PMD_DRV_LOG(INFO, sc, "%12s : 0x%x", "Vendor Id", >>> + sc->devinfo.vendor_id); >>> + PMD_DRV_LOG(INFO, sc, "%12s : 0x%x", "Device Id", >>> + sc->devinfo.device_id); >>> + PMD_DRV_LOG(INFO, sc, "%12s : width x%d, ", "Bus PCIe", >>> + sc->devinfo.pcie_link_width); >>> switch (sc->devinfo.pcie_link_speed) { >>> case 1: >>> @@ -11793,8 +11789,6 @@ void bnx2x_print_adapter_info(struct >> bnx2x_softc *sc) >>> PMD_DRV_LOG(INFO, sc, "%33s", "Unknown link speed"); >>> } >>> - >>> /* Device features. */ >>> PMD_DRV_LOG(INFO, sc, "%12s : ", "Flags"); >>> - >>> /* Miscellaneous flags. */ >>> if (sc->devinfo.pcie_cap_flags & BNX2X_MSI_CAPABLE_FLAG) { @@ >>> -11802,5 +11796,4 @@ void bnx2x_print_adapter_info(struct bnx2x_softc >> *sc) >>> i++; >>> } >>> - >>> if (sc->devinfo.pcie_cap_flags & BNX2X_MSIX_CAPABLE_FLAG) { >>> if (i > 0) >>> @@ -11809,37 +11802,25 @@ void bnx2x_print_adapter_info(struct >> bnx2x_softc *sc) >>> i++; >>> } >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "OVLAN", (OVLAN(sc) ? "YES" : >> "NO")); >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "MF", (IS_MF(sc) ? "YES" : >> "NO")); >>> + PMD_DRV_LOG(INFO, sc, >>> +"========================================"); >>> +} >>> >>> - if (IS_PF(sc)) { >>> - PMD_DRV_LOG(INFO, sc, "%12s : ", "Queues"); >>> - switch (sc->sp->rss_rdata.rss_mode) { >>> - case ETH_RSS_MODE_DISABLED: >>> - PMD_DRV_LOG(INFO, sc, "%19s", "None"); >>> - break; >>> - case ETH_RSS_MODE_REGULAR: >>> - PMD_DRV_LOG(INFO, sc, >>> - "%18s : %d", "RSS", sc->num_queues); >>> - break; >>> - default: >>> - PMD_DRV_LOG(INFO, sc, "%22s", "Unknown"); >>> - break; >>> - } >>> - } >>> +/* Prints useful device info. */ >>> +void bnx2x_print_device_info(struct bnx2x_softc *sc) { >>> + __rte_unused uint32_t ext_phy_type; >>> + uint32_t offset, reg_val; >>> >>> - /* RTE and Driver versions */ >>> - PMD_DRV_LOG(INFO, sc, "%12s : %s", "DPDK", >>> - rte_version()); >>> - PMD_DRV_LOG(INFO, sc, "%12s : %s", "Driver", >>> - bnx2x_pmd_version()); >>> + PMD_INIT_FUNC_TRACE(sc); >>> + offset = offsetof(struct shmem_region, >>> + dev_info.port_hw_config[0].external_phy_config); >>> + reg_val = REG_RD(sc, sc->devinfo.shmem_base + offset); >>> + if (sc->link_vars.phy_flags & PHY_XGXS_FLAG) >>> + ext_phy_type = ELINK_XGXS_EXT_PHY_TYPE(reg_val); >>> + else >>> + ext_phy_type = ELINK_SERDES_EXT_PHY_TYPE(reg_val); >>> >>> - /* Firmware versions and device features. */ >>> - PMD_DRV_LOG(INFO, sc, "%12s : %d.%d.%d", >>> - "Firmware", >>> - BNX2X_5710_FW_MAJOR_VERSION, >>> - BNX2X_5710_FW_MINOR_VERSION, >>> - BNX2X_5710_FW_REVISION_VERSION); >>> - PMD_DRV_LOG(INFO, sc, "%12s : %s", >>> - "Bootcode", sc->devinfo.bc_ver_str); >>> - >>> - PMD_DRV_LOG(INFO, sc, >> "\n\n===================================\n"); >>> + /* Device features. */ >>> PMD_DRV_LOG(INFO, sc, "%12s : %u", "Bnx2x Func", sc->pcie_func); >>> PMD_DRV_LOG(INFO, sc, >>> @@ -11847,6 +11828,4 @@ void bnx2x_print_adapter_info(struct >> bnx2x_softc *sc) >>> PMD_DRV_LOG(INFO, sc, "%12s : %s", "DMAE Is", >>> (sc->dmae_ready ? "Ready" : "Not Ready")); >>> - PMD_DRV_LOG(INFO, sc, "%12s : %s", "OVLAN", (OVLAN(sc) ? "YES" : >> "NO")); >>> - PMD_DRV_LOG(INFO, sc, "%12s : %s", "MF", (IS_MF(sc) ? "YES" : "NO")); >>> PMD_DRV_LOG(INFO, sc, "%12s : %u", "MTU", sc->mtu); >>> PMD_DRV_LOG(INFO, sc, >>> @@ -11864,8 +11843,29 @@ void bnx2x_print_adapter_info(struct >> bnx2x_softc *sc) >>> PMD_DRV_LOG(INFO, sc, "%12s : %s", "Recovery", >>> get_recovery_state(sc->recovery_state)); >>> + /* Queue info. */ >>> + if (IS_PF(sc)) { >>> + switch (sc->sp->rss_rdata.rss_mode) { >>> + case ETH_RSS_MODE_DISABLED: >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "Queues", "RSS mode - >> None"); >>> + break; >>> + case ETH_RSS_MODE_REGULAR: >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s,", "Queues", "RSS mode - >> Regular"); >>> + PMD_DRV_LOG(INFO, sc, "%16d", sc->num_queues); >>> + break; >>> + default: >>> + PMD_DRV_LOG(INFO, sc, "%12s : %s", "Queues", "RSS mode - >> Unknown"); >>> + break; >>> + } >>> + } >>> PMD_DRV_LOG(INFO, sc, "%12s : CQ = %lx, EQ = %lx", "SPQ Left", >>> sc->cq_spq_left, sc->eq_spq_left); >>> + >>> PMD_DRV_LOG(INFO, sc, >>> "%12s : %x", "Switch", sc->link_params.switch_cfg); >>> - PMD_DRV_LOG(INFO, sc, >> "\n\n===================================\n"); >>> + PMD_DRV_LOG(INFO, sc, "pcie_bus=%d, pcie_device=%d", >>> + sc->pcie_bus, sc->pcie_device); >>> + PMD_DRV_LOG(INFO, sc, "bar0.addr=%p, bar1.addr=%p", >>> + sc->bar[BAR0].base_addr, sc->bar[BAR1].base_addr); >>> + PMD_DRV_LOG(INFO, sc, "port=%d, path=%d, vnic=%d, func=%d", >>> + PORT_ID(sc), PATH_ID(sc), VNIC_ID(sc), >>> + FUNC_ID(sc)); >>> } >>> diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h >>> index 74780725b..32a12294b 100644 >>> --- a/drivers/net/bnx2x/bnx2x.h >>> +++ b/drivers/net/bnx2x/bnx2x.h >>> @@ -1938,4 +1938,5 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, >>> struct rte_mbuf *m0); uint8_t bnx2x_txeof(struct bnx2x_softc *sc, >>> struct bnx2x_fastpath *fp); void bnx2x_print_adapter_info(struct >>> bnx2x_softc *sc); >>> +void bnx2x_print_device_info(struct bnx2x_softc *sc); >>> int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp); void >>> bnx2x_link_status_update(struct bnx2x_softc *sc); @@ -1985,5 +1986,5 >>> @@ bnx2x_set_rx_mode(struct bnx2x_softc *sc) >>> } >>> } else { >>> - PMD_DRV_LOG(NOTICE, sc, "Card is not ready to change mode"); >>> + PMD_DRV_LOG(INFO, sc, "Card is not ready to change >>> + mode"); >>> } >>> } >>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c >>> b/drivers/net/bnx2x/bnx2x_ethdev.c >>> index 0057843b5..cc7816dd5 100644 >>> --- a/drivers/net/bnx2x/bnx2x_ethdev.c >>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.c >>> @@ -246,6 +246,5 @@ bnx2x_dev_start(struct rte_eth_dev *dev) >>> } >>> >>> - /* Print important adapter info for the user. */ >>> - bnx2x_print_adapter_info(sc); >>> + bnx2x_print_device_info(sc); >>> >>> return ret; >>> @@ -575,4 +574,5 @@ bnx2x_common_dev_init(struct rte_eth_dev >> *eth_dev, int is_vf) >>> struct rte_pci_addr pci_addr; >>> struct bnx2x_softc *sc; >>> + static bool adapter_info = true; >>> >>> /* Extract key data structures */ @@ -633,6 +633,13 @@ >>> bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf) >>> } >>> >>> + /* Print important adapter info for the user. */ >>> + if (adapter_info) { >>> + bnx2x_print_adapter_info(sc); >>> + adapter_info = false; >>> + } >>> + >>> /* schedule periodic poll for slowpath link events */ >>> if (IS_PF(sc)) { >>> + PMD_DRV_LOG(DEBUG, sc, "Scheduling periodic poll for >>> + slowpath link events"); >>> ret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD, >>> bnx2x_periodic_start, (void >>> *)eth_dev); @@ -646,13 +653,4 @@ bnx2x_common_dev_init(struct >> rte_eth_dev *eth_dev, int is_vf) >>> eth_dev->data->mac_addrs = (struct ether_addr >>> *)sc->link_params.mac_addr; >>> >>> - PMD_DRV_LOG(INFO, sc, "pcie_bus=%d, pcie_device=%d", >>> - sc->pcie_bus, sc->pcie_device); >>> - PMD_DRV_LOG(INFO, sc, "bar0.addr=%p, bar1.addr=%p", >>> - sc->bar[BAR0].base_addr, sc->bar[BAR1].base_addr); >>> - PMD_DRV_LOG(INFO, sc, "port=%d, path=%d, vnic=%d, func=%d", >>> - PORT_ID(sc), PATH_ID(sc), VNIC_ID(sc), FUNC_ID(sc)); >>> - PMD_DRV_LOG(INFO, sc, "portID=%d vendorID=0x%x deviceID=0x%x", >>> - eth_dev->data->port_id, pci_dev->id.vendor_id, pci_dev- >>> id.device_id); >>> - >>> if (IS_VF(sc)) { >>> rte_spinlock_init(&sc->vf2pf_lock); >>> diff --git a/drivers/net/bnx2x/bnx2x_ethdev.h >>> b/drivers/net/bnx2x/bnx2x_ethdev.h >>> index 807ba1780..45958db9a 100644 >>> --- a/drivers/net/bnx2x/bnx2x_ethdev.h >>> +++ b/drivers/net/bnx2x/bnx2x_ethdev.h >>> @@ -48,4 +48,5 @@ >>> #define TRUE 1 >>> >>> +typedef int bool; >>> #define false 0 >>> #define true 1 >>> diff --git a/drivers/net/bnx2x/ecore_sp.c >>> b/drivers/net/bnx2x/ecore_sp.c index ab730abea..6d2bb815c 100644 >>> --- a/drivers/net/bnx2x/ecore_sp.c >>> +++ b/drivers/net/bnx2x/ecore_sp.c >>> @@ -531,7 +531,6 @@ static void __ecore_vlan_mac_h_read_unlock(struct >> bnx2x_softc *sc, >>> } else { >>> o->head_reader--; >>> - PMD_DRV_LOG(INFO, sc, >>> - "vlan_mac_lock - decreased readers to %d", >>> - o->head_reader); >>> + ECORE_MSG(sc, "vlan_mac_lock - decreased readers to %d", >>> + o->head_reader); >>> } >>> >>> @@ -540,6 +539,5 @@ static void __ecore_vlan_mac_h_read_unlock(struct >> bnx2x_softc *sc, >>> */ >>> if (!o->head_reader && o->head_exe_request) { >>> - PMD_DRV_LOG(INFO, sc, >>> - "vlan_mac_lock - reader release encountered a pending >> request"); >>> + ECORE_MSG(sc, "vlan_mac_lock - reader release >>> + encountered a pending request"); >>> >>> /* Writer release will do the trick */ >>> >