Hello Guy, Per my understanding, a short send on SOCK_STREAM should terminate the remainder of the SQE chain built by IOSQE_IO_LINK. But from my observation, this point isn't true when using io_sendmsg or io_sendmsg_zc on TCP socket, and the other remainder of the chain still can be completed after one short send is found. MSG_WAITALL is off. For SOCK_STREAM, IOSQE_IO_LINK probably is the only way of io_uring for sending data correctly in batch. However, it depends on the assumption of chain termination by short send. Appreciate any comment. Thanks, Ming