sfc: suppress MCDI errors from ARFS
authorEdward Cree <ecree@solarflare.com>
Fri, 22 Nov 2019 17:57:19 +0000 (17:57 +0000)
committerJakub Kicinski <jakub.kicinski@netronome.com>
Sat, 23 Nov 2019 01:50:52 +0000 (17:50 -0800)
commit0aa6608daec5d19275809d30df6a02529eb66c7d
tree6f0fec22548639631dd3d7fbf6f46f81e2c49b28
parent8490e75cdbb734829d3b324c3a52492c2edbfbd6
sfc: suppress MCDI errors from ARFS

In high connection count usage, the NIC's filter table may be filled with
 sufficiently many ARFS filters that further insertions fail.  As this
 does not represent a correctness issue, do not log the resulting MCDI
 errors.  Add a debug-level message under the (by default disabled)
 rx_status category instead; and take the opportunity to do a little extra
 expiry work.

Since there are now multiple workitems able to call __efx_filter_rfs_expire
 on a given channel, it is possible for them to race and thus pass quotas
 which, combined, exceed rfs_filter_count.  Thus, don't WARN_ON if we loop
 all the way around the table with quota left over.

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/ef10.c
drivers/net/ethernet/sfc/rx.c