Date: Wed, 16 Jan 2019 02:13:22 +0000 (UTC) From: Marcin Wojtas <mw@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r343074 - in head/sys: contrib/ena-com dev/ena Message-ID: <201901160213.x0G2DMtW084504@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mw Date: Wed Jan 16 02:13:21 2019 New Revision: 343074 URL: https://svnweb.freebsd.org/changeset/base/343074 Log: Suppress excessive error prints in ENA TX hotpath In FreeBSD, this is normal situation that the Tx ring is being full. In hat case, the packet is put back into drbr and the next attempt to send it is taken after the cleanup. Too much logs like this can cause system instability and even cause the device reset (because keep alive or cleanup could be missed). To fix that, the log level of this message is changed to debug. Upon this change upgrade the driver version to v0.8.2. Submitted by: Michal Krawczyk <mk@semihalf.com> Obtained from: Semihalf Sponsored by: Amazon, Inc. Modified: head/sys/contrib/ena-com/ena_eth_com.c head/sys/dev/ena/ena.c head/sys/dev/ena/ena.h Directory Properties: head/sys/contrib/ena-com/ (props changed) Modified: head/sys/contrib/ena-com/ena_eth_com.c ============================================================================== --- head/sys/contrib/ena-com/ena_eth_com.c Wed Jan 16 02:05:42 2019 (r343073) +++ head/sys/contrib/ena-com/ena_eth_com.c Wed Jan 16 02:13:21 2019 (r343074) @@ -386,7 +386,7 @@ int ena_com_prepare_tx(struct ena_com_io_sq *io_sq, /* num_bufs +1 for potential meta desc */ if (!ena_com_sq_have_enough_space(io_sq, num_bufs + 1)) { - ena_trc_err("Not enough space in the tx queue\n"); + ena_trc_dbg("Not enough space in the tx queue\n"); return ENA_COM_NO_MEM; } Modified: head/sys/dev/ena/ena.c ============================================================================== --- head/sys/dev/ena/ena.c Wed Jan 16 02:05:42 2019 (r343073) +++ head/sys/dev/ena/ena.c Wed Jan 16 02:13:21 2019 (r343074) @@ -2813,7 +2813,7 @@ ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf ** /* Prepare the packet's descriptors and send them to device */ rc = ena_com_prepare_tx(io_sq, &ena_tx_ctx, &nb_hw_desc); if (unlikely(rc != 0)) { - device_printf(adapter->pdev, "failed to prepare tx bufs\n"); + ena_trace(ENA_DBG | ENA_TXPTH, "failed to prepare tx bufs\n"); counter_u64_add(tx_ring->tx_stats.prepare_ctx_err, 1); goto dma_error; } Modified: head/sys/dev/ena/ena.h ============================================================================== --- head/sys/dev/ena/ena.h Wed Jan 16 02:05:42 2019 (r343073) +++ head/sys/dev/ena/ena.h Wed Jan 16 02:13:21 2019 (r343074) @@ -41,7 +41,7 @@ #define DRV_MODULE_VER_MAJOR 0 #define DRV_MODULE_VER_MINOR 8 -#define DRV_MODULE_VER_SUBMINOR 1 +#define DRV_MODULE_VER_SUBMINOR 2 #define DRV_MODULE_NAME "ena"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901160213.x0G2DMtW084504>