public inbox for [email protected]
 help / color / mirror / Atom feed
* Short sends returned in IORING
@ 2022-05-03 23:05 Constantine Gavrilov
  2022-05-04 13:54 ` Jens Axboe
  0 siblings, 1 reply; 13+ messages in thread
From: Constantine Gavrilov @ 2022-05-03 23:05 UTC (permalink / raw)
  To: Jens Axboe; +Cc: io-uring

Jens:

This is related to the previous thread "Fix MSG_WAITALL for
IORING_OP_RECV/RECVMSG".

We have a similar issue with TCP socket sends. I see short sends
regarding of the method (I tried write, writev, send, and sendmsg
opcodes, while using MSG_WAITALL for send and sendmsg). It does not
make a difference.

Most of the time, sends are not short, and I never saw short sends
with loopback and my app. But on real network media, I see short
sends.

This is a real problem, since because of this it is not possible to
implement queue size of > 1 on a TCP socket, which limits the benefit
of IORING. When we have a short send, the next send in queue will
"corrupt" the stream.

Can we have complete send before it completes, unless the socket is
disconnected?


-- 
----------------------------------------
Constantine Gavrilov
Storage Architect
Master Inventor
Tel-Aviv IBM Storage Lab
1 Azrieli Center, Tel-Aviv
----------------------------------------

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-05-16 12:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-03 23:05 Short sends returned in IORING Constantine Gavrilov
2022-05-04 13:54 ` Jens Axboe
2022-05-04 15:21   ` Constantine Gavrilov
2022-05-04 15:28     ` Jens Axboe
2022-05-04 15:55       ` Jens Axboe
2022-05-11 14:56         ` Constantine Gavrilov
2022-05-11 15:11           ` Constantine Gavrilov
2022-05-11 15:33             ` Constantine Gavrilov
2022-05-11 19:30               ` Constantine Gavrilov
2022-05-12 16:28           ` Jens Axboe
2022-05-15 13:36             ` Constantine Gavrilov
2022-05-16 12:50               ` Constantine Gavrilov
2022-05-04 16:18   ` Constantine Gavrilov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox