bnxt_en: Periodically check and remove aged-out ntuple filters
authorPavan Chebbi <pavan.chebbi@broadcom.com>
Mon, 27 Jan 2020 09:56:18 +0000 (04:56 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jan 2020 10:33:28 +0000 (11:33 +0100)
Currently the only time we check and remove expired filters is
when we are inserting new filters.
Improving the aRFS expiry handling by adding code to do the above
work periodically.

Signed-off-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index fb67e66..7d53672 100644 (file)
@@ -10040,6 +10040,13 @@ static void bnxt_timer(struct timer_list *t)
                bnxt_queue_sp_work(bp);
        }
 
+#ifdef CONFIG_RFS_ACCEL
+       if ((bp->flags & BNXT_FLAG_RFS) && bp->ntp_fltr_count) {
+               set_bit(BNXT_RX_NTP_FLTR_SP_EVENT, &bp->sp_event);
+               bnxt_queue_sp_work(bp);
+       }
+#endif /*CONFIG_RFS_ACCEL*/
+
        if (bp->link_info.phy_retry) {
                if (time_after(jiffies, bp->link_info.phy_retry_expires)) {
                        bp->link_info.phy_retry = false;