sfc: change ARFS expiry mechanism
authorEdward Cree <ecree@solarflare.com>
Fri, 22 Nov 2019 17:57:03 +0000 (17:57 +0000)
committerJakub Kicinski <jakub.kicinski@netronome.com>
Sat, 23 Nov 2019 01:50:47 +0000 (17:50 -0800)
commit8490e75cdbb734829d3b324c3a52492c2edbfbd6
tree8514646d5e4674e6e90e04f2ea44acb2565570e3
parentc4f2cbd37651372ad1775ee970e669ce735731c7
sfc: change ARFS expiry mechanism

The old rfs_filters_added method for determining the quota could potentially
 allow the NIC to become filled with old filters, which never get tested for
 expiry.  Instead, explicitly make expiry check work depend on the number of
 filters installed, and don't count checking slots without filters in as
 doing work.  This guarantees that each filter will be checked for expiry at
 least once every thirty seconds (assuming the channel to which it belongs is
 NAPI polling actively) regardless of fill level.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Tested-by: David Ahern <dahern@digitalocean.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx.h
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/rx.c