Hi! 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(-) -- 2.16.2