Thread (28 messages) 28 messages, 4 authors, 2021-11-10

Re: [PATCH net 1/4] Revert "net/smc: don't wait for send buffer space when data was already sent"

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-10-27 15:47:14
Also in: linux-rdma, linux-s390

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help