aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking/filter.txt
diff options
context:
space:
mode:
authorEdward Cree <ecree@solarflare.com>2018-04-13 19:18:09 +0100
committerDavid S. Miller <davem@davemloft.net>2018-04-14 15:39:53 -0400
commitf993740ee05821307eca03d23d468895740450f8 (patch)
treeb44c9774d72109d8c8ec693b9e55dd6144eb6cc0 /Documentation/networking/filter.txt
parentsfc: pass the correctly bogus filter_id to rps_may_expire_flow() (diff)
downloadlinux-dev-f993740ee05821307eca03d23d468895740450f8.tar.xz
linux-dev-f993740ee05821307eca03d23d468895740450f8.zip
sfc: limit ARFS workitems in flight per channel
A misconfigured system (e.g. with all interrupts affinitised to all CPUs) may produce a storm of ARFS steering events. With the existing sfc ARFS implementation, that could create a backlog of workitems that grinds the system to a halt. To prevent this, limit the number of workitems that may be in flight for a given SFC device to 8 (EFX_RPS_MAX_IN_FLIGHT), and return EBUSY from our ndo_rx_flow_steer method if the limit is reached. Given this limit, also store the workitems in an array of slots within the struct efx_nic, rather than dynamically allocating for each request. The limit should not negatively impact performance, because it is only likely to be hit in cases where ARFS will be ineffective anyway. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/networking/filter.txt')
0 files changed, 0 insertions, 0 deletions