Re: bnx2: rx_fw_discards: BCM5716 sporadically drops packets when update to driver version 2.2.6

From: maowenan
Date: Sun Oct 28 2018 - 22:16:04 EST


Could anyone give some clues to address count of rx_fw_discards increasing issue?


On 2018/10/26 11:15, maowenan wrote:
> 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?
>
> Thanks a lot.
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
>