Messages in this thread | | | Subject | Re: bnx2: rx_fw_discards: BCM5716 sporadically drops packets when update to driver version 2.2.6 | From | maowenan <> | Date | Tue, 30 Oct 2018 17:03:00 +0800 |
| |
On 2018/10/30 14:47, Mody, Rasesh wrote: >> From: maowenan <maowenan@huawei.com> >> 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.c >> b/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?
The case is based on BCM5716's driver version of 2.2.6, and both 3.10 and mainline kernel version exist this issue . The testing seems like using one port of BCM5716 to receive packets, it can be found rx_fw_disacard increasing occasionally. There is one patch in 2.2.6, 0021850d0417a4dc38ed871d929b651b87e2ead9, if I remove this patch, I can't reproduce this issue, rx_fw_disacard doesn't increase. So I don't know why this patch(0021850d0417a4dc38ed871d929b651b87e2ead9) can fix my problem(rx_fw_disacard increasing)? If I remove this patch, how to fix the issue that the patch had resolved?
> >> >> Thanks a lot. >> >> >> >> >> >> >> >> >> >> >> >
| |