I was working with 2.5 originally and wanted to see a fix with minimal changes. The patch was supposed to be Work In Progress but was squashed down as I didn't have enough arguments to back it up (ended up with a timeout patch). Now, we have systems in the lab exhibiting this in-house and customer locations as well (I added IOQ stats and they showed 1-second latency from queuing to calling writev alone under stress).
I would put the IOQ in xprt itself as you did. Please post the patch and let us review it.
Regards, Malahal.