A high number of MAD packet drops are observed in the mlx4 MAD proxy system. These are fixed by separating the parameters for the tunnel vs. wire QPs and by introducing a separate worker-thread for the wire QPs. Support for MRA and REJ with its reason being timeout is also added. Dynamic debug prints adjusted and amended. v1->v2: * Added commit ("Adjust delayed work when a dup is observed") * Minor adjustments in some of the commits Håkon Bugge (6): IB/mlx4: Add and improve logging IB/mlx4: Add support for MRA IB/mlx4: Separate tunnel and wire bufs parameters IB/mlx4: Fix starvation in paravirt mux/demux IB/mlx4: Add support for REJ due to timeout IB/mlx4: Adjust delayed work when a dup is observed drivers/infiniband/hw/mlx4/cm.c | 148 ++++++++++++++++++++++++- drivers/infiniband/hw/mlx4/mad.c | 158 +++++++++++++++------------ drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +- 3 files changed, 241 insertions(+), 73 deletions(-) -- 2.20.1