On Wed, 27 Oct 2021 17:38:27 +0200 Karsten Graul wrote: > What we found out was that applications called sendmsg() with large data > buffers using blocking sockets. This led to the described situation, were the > solution was to early return to user space even if not all data were sent yet. > Userspace applications should not have a problem with the fact that sendmsg() > returns a smaller byte count than requested. > > Reverting this patch would bring back the stalled connection problem. I'm not sure. The man page for send says: When the message does not fit into the send buffer of the socket, send() normally blocks, unless the socket has been placed in nonblock‐ ing I/O mode. In nonblocking mode it would fail with the error EAGAIN or EWOULDBLOCK in this case. dunno if that's required by POSIX or just a best practice.