On Wed, 27 Oct 2021 12:21:32 +0200 Karsten Graul wrote: > On 27/10/2021 10:52, Tony Lu wrote: > > From: Tony Lu <tony.ly@xxxxxxxxxxxxxxxxx> > > > > This reverts commit 6889b36da78a21a312d8b462c1fa25a03c2ff192. > > > > When using SMC to replace TCP, some userspace applications like netperf > > don't check the return code of send syscall correctly, which means how > > many bytes are sent. If rc of send() is smaller than expected, it should > > try to send again, instead of exit directly. It is difficult to change > > the uncorrect behaviors of userspace applications, so choose to revert it. > > Your change would restore the old behavior to handle all sockets like they > are blocking sockets, trying forever to send the provided data bytes. > This is not how it should work. Isn't the application supposed to make the socket non-blocking or pass MSG_DONTWAIT if it doesn't want to sleep? It's unclear why the fix was needed in the first place. > We encountered the same issue with netperf, but this is the only 'broken' > application that we know of so far which does not implement the socket API > correctly.