RE: bnx2: rx_fw_discards: BCM5716 sporadically drops packets when update to driver version 2.2.6
From: Mody, Rasesh <hidden>
Date: 2018-10-30 06:47:28
Also in:
lkml
quoted hunk ↗ jump to hunk
From: maowenan <redacted> Sent: Thursday, October 25, 2018 8:16 PM Hi, After I update version of bnx2 driver from 2.2.1 to 2.2.6, I find BCM5716 sporadically drops packets, which shows in rx_fw_discards. C36-141-5:~ # ethtool -S NIC0 NIC statistics: rx_ucast_packets: 11902 rx_mcast_packets: 217 rx_bcast_packets: 4954320 rx_filtered_packets: 328793 rx_fw_discards: 2742 C36-141-5:~ # 5s later: C36-141-5:~ # ethtool -S NIC0 NIC statistics: rx_ucast_packets: 11910 rx_mcast_packets: 217 rx_bcast_packets: 4958117 rx_filtered_packets: 328897 rx_fw_discards: 2750 C36-141-5:~ # so rx_fw_discards: 2742-----> rx_fw_discards: 2750, lost 8 packets. the information of bnx2 C36-141-5:~ # modinfo bnx2 kernel/drivers/net/ethernet/broadcom/bnx2.ko firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw firmware: bnx2/bnx2-rv2p-09-6.0.17.fw firmware: bnx2/bnx2-mips-09-6.2.1b.fw firmware: bnx2/bnx2-rv2p-06-6.0.15.fw firmware: bnx2/bnx2-mips-06-6.2.3.fw version: 2.2.6 1) Firstly, I check the patches from 2.2.1 to 2.2.6, below patch is interesting. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id =0021850d0417a4dc38ed871d929b651b87e2ead9 Do not enable filter SORT MODE in chip init routine. This patch addresses an issue where BCM5716 sporadically drops packets when changing multicast list.diff --git a/drivers/net/ethernet/broadcom/bnx2.cb/drivers/net/ethernet/broadcom/bnx2.c index 8957eb5f4478..8c9a8b7787d2 100644--- a/drivers/net/ethernet/broadcom/bnx2.c +++ b/drivers/net/ethernet/broadcom/bnx2.c@@ -4984,8 +4984,6 @@ bnx2_init_chip(struct bnx2 *bp) bp->idle_chk_status_idx = 0xffff; - bp->rx_mode = BNX2_EMAC_RX_MODE_SORT_MODE; - /* Set up how to generate a link change interrupt. */ BNX2_WR(bp, BNX2_EMAC_ATTENTION_ENA,BNX2_EMAC_ATTENTION_ENA_LINK); 2) Secondly, I revert this patch, after verify it, I find rx_fw_discards does not increasing. so I think this patch can fix current issue. But I'm not sure the issue of this patch to fix will be reproduced? I'm not convinced that what factor will trigger rx_fw_discards increasing? And how to fix this?
Can you please reword your point above? i.e. what is working and what is not. I am not sure if I understand it completely. Is the rx_fw_disacard count incrementing with 2.2.6 upstream driver on BCM5716? What is the kernel version? Which test is being run?
Thanks a lot.