Richard W.M. Jones wrote: > On Tue, Jun 09, 2009 at 07:15:25PM +0200, Jan Kiszka wrote: >> Amit Shah wrote: >>> This interface presents a char device from which bits can be >>> sent and read. >>> >>> Sample uses for such a device can be obtaining info from the >>> guest like the file systems used, apps installed, etc. for >>> offline usage and logged-in users, clipboard copy-paste, etc. >>> for online usage. >> Out of curiosity: What is the advantage over instantiating a multiport >> 16550A PCI card? Will those channels be so performance critical? > > 16550A has a couple of problems: The fixed sized FIFO (16 bytes) can > cause problems if you send data too quickly. (I've seen this problem > when sending too much data from host to the guest, but I can't find > the bug report right now ...). If you buy a real 16550A card with high-speed support (eg. 1 MBit/s), you get larger FIFOs (eg. 256 byte). Thresholds are scaled correspondingly by such cards. So there would be no problem in extending this in QEMU as well, ie. making it a parameter to the init function. > Secondly UARTs are complicated to > emulate compared to a clean virtio device. Would we be happy with the > address space taken up and amount of emulation going on once we had, > say, 16 emulated ports? Memory-mapped 16550As do not suffer from such a limitation. > > On the other hand, multiport cards don't require special drivers in > the guest ... That's what raised my interest: What benefit of a virtio-serial can over-compensate this advantage of standard hardware? Jan