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



Reply via email to