mlxcx should pass receive messages to mac layer more frequently
In testing I have seen the receive path lock up where the receive interrupt (or poll) has amassed a full chain of mblks, one for each entries in the receive ring.
I couldn't 100% ascertain as to why the chain had not been passed up to mac (as I have been chasing a few slow downs and lock ups), but using the same technique as other NIC drivers whereby after a given number of accumulated mblks, they driver calls into mac to get them processed.
As part of this I added the tuneable to mlxcx.conf
# # To provide some level of moderation and aid latencies, after # "rx_limit_per_completion" packets received in a single completion # event, the interrupt handler will pass the chain up the receive stack. # #rx_limit_per_completion = 256;