svn commit: r343074 - in head/sys: contrib/ena-com dev/ena

Marcin Wojtas mw at FreeBSD.org
Wed Jan 16 02:13:24 UTC 2019


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 at 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"
 


More information about the svn-src-all mailing list