The first part of this set aims to improve handling of interrupted
waits. Patch 1 makes waiting for management FW responses
uninterruptible while patch 2 adds a message when signal arrives
while waiting for an NFP mutex. We can't interrupt execution of
FW commands so uninterruptible sleep seems reasonable there.
Exiting a wait for a mutex should be clean and have no side affects
so we are allowing to abort it. Note that both waits have rather
large timeouts (tens of seconds).
Patches 3 and 4 improve flower offload operation under heavy load.
Currently there is no cap on the number of queued FW notifications.
Some of the notifications have to be processed from a workqueue
which may lead to very large number of messages getting queued
if workqueue never gets a chance to run. Pieter puts a limit
on number of queued messages, tries to drop some messages we ignore
without queuing and process more important messages first.
Jakub Kicinski (2):
nfp: ignore signals when communicating with management FW
nfp: print a message when mutex wait is interrupted
Pieter Jansen van Vuuren (2):
nfp: flower: move route ack control messages out of the workqueue
nfp: flower: split and limit cmsg skb lists
drivers/net/ethernet/netronome/nfp/flower/cmsg.c | 44 ++++++++++++++++++----
drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 2 +
drivers/net/ethernet/netronome/nfp/flower/main.c | 6 ++-
drivers/net/ethernet/netronome/nfp/flower/main.h | 8 +++-
.../net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c | 5 ++-
.../net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 3 +-
6 files changed, 54 insertions(+), 14 deletions(-)