[linux-yocto] [PATCH 33/52] net: femac: Rate limit error logs in RX path

Daniel Dragomir daniel.dragomir at windriver.com
Wed Jan 28 09:18:47 PST 2015


From: Anders Berg <anders.berg at intel.com>

Change the log messages used in the RX path to be rate limited to avoid
excessive log outputs in overload situations.

Signed-off-by: Anders Berg <anders.berg at intel.com>
---
 drivers/net/ethernet/lsi/lsi_acp_net.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/lsi/lsi_acp_net.c b/drivers/net/ethernet/lsi/lsi_acp_net.c
index 69dcbc9..b20e5fa 100644
--- a/drivers/net/ethernet/lsi/lsi_acp_net.c
+++ b/drivers/net/ethernet/lsi/lsi_acp_net.c
@@ -685,8 +685,9 @@ static void lsinet_rx_packet(struct net_device *dev)
 	sk_buff = dev_alloc_skb(LSINET_MAX_MTU);
 
 	if ((struct sk_buff *)0 == sk_buff) {
-		pr_err("%s: dev_alloc_skb() failed! Dropping packet.\n",
-		       LSI_DRV_NAME);
+		pr_info_ratelimited("%s: No buffer, packet dropped.\n",
+				    LSI_DRV_NAME);
+		pdata->stats.rx_dropped++;
 		return;
 	}
 
@@ -701,8 +702,7 @@ static void lsinet_rx_packet(struct net_device *dev)
 	while (0 < queue_initialized(queue, pdata->rx_tail_copy,
 				     pdata->rx_num_desc)) {
 
-		if (skb_tailroom(sk_buff) >= descriptor.pdu_length)
-		{
+		if (skb_tailroom(sk_buff) >= descriptor.pdu_length) {
 			unsigned char *buffer;
 			buffer = skb_put(sk_buff, descriptor.pdu_length);
 			memcpy((void *)buffer,
@@ -710,11 +710,11 @@ static void lsinet_rx_packet(struct net_device *dev)
 				 pdata->dma_alloc_offset_rx),
 			       descriptor.pdu_length);
 		} else {
-			pr_err("%s: PDU overrun (len %u/%u, err %d)\n",
-			       LSI_DRV_NAME,
-			       descriptor.pdu_length,
-			       bytes_copied,
-			       descriptor.error);
+			pr_err_ratelimited("%s: PDU overrun (%u/%u, %d)\n",
+					   LSI_DRV_NAME,
+					   descriptor.pdu_length,
+					   bytes_copied,
+					   descriptor.error);
 		}
 		bytes_copied += descriptor.pdu_length;
 		descriptor.data_transfer_length = pdata->rx_buf_per_desc;
-- 
1.8.1.4



More information about the linux-yocto mailing list