> On 05/05/2010 08:34 AM, Paul Brook wrote: > >> I really dislike the idea of adding another function for this. Can you > >> explain why you need this functionality for virtio-console and why this > >> functionality isn't needed for everything else? > > > > This functionality should (in principle) be used by all serial port > > implementations. > > > > Physical serial ports are sufficiently crufty and low-performance that > > noone actually uses them nowadays. I expect that the only significant > > real-world use is for serial consoles, which never send enough data to > > care that writes stall the whole machine. > > We don't implement control flow in the character driver layer today. > Different backends use different policies. Some drop data (like pty) > while other block (like tcp).
Really? I thought data was only dropped when no client was connected, and that there was a user visible option to control this. Either way, I agree that this should be done consistently. > This patch adds optional control flow in a pretty crufty way to *some* > backends but not all. This just adds a bunch of complexity that will > certainly introduce bugs. I admit I've only really looked at the device emulation side of the interface, not the chardev backend implementation. Paul