On 04/08/10 00:58, Paul Brook wrote:
Hello,
This patchset introduces flow control to virtio-console and
chardev-based virtio serial ports. This series is based on the
previous series I sent on Mar 31st (00/17: v4: virtio-serial fixes,
new abi for port discovery)
The qemu chardevs can now return -EAGAIN when a non-blocking remote
isn't ready to accept more data.
Comments?
This is a major change in semantics. Are you sure all users handle this
correctly? My guess is that most of the devices don't.
I don't expect trouble here. EAGAIN is returned only for file handles
in non-blocking mode. I doubt existing users use non-blocking I/O as
this makes the current unix_write() code go busy-loop in case the
outgoing pipe is full.
EAGAIN isn't really a useful response unless you have some way of notifying
the device that it can send more data.
This is a valid point though.
cheers,
Gerd