[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211027084710.1f4a4ff1@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Wed, 27 Oct 2021 08:47:10 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Karsten Graul <kgraul@...ux.ibm.com>
Cc: Tony Lu <tonylu@...ux.alibaba.com>, davem@...emloft.net,
netdev@...r.kernel.org, linux-s390@...r.kernel.org,
linux-rdma@...r.kernel.org, jacob.qi@...ux.alibaba.com,
xuanzhuo@...ux.alibaba.com, guwen@...ux.alibaba.com,
dust.li@...ux.alibaba.com
Subject: Re: [PATCH net 1/4] Revert "net/smc: don't wait for send buffer
space when data was already sent"
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.
Powered by blists - more mailing lists