On Wed, Feb 04, 2015 at 04:22:26PM +0100, Paolo Bonzini wrote: > > > On 04/02/2015 16:11, Daniel P. Berrange wrote: > > > For GIO/GIOChannel, you'd have to choose between zerocopy and many > > > syscalls, or one copy and few syscalls. Since every page has two iov > > > entries, one of which is just 8 bytes, one copy and few syscalls is > > > probably faster---but still only half the speed of writev. > > > > That could be an argument in favour of defining a QEMUIOChannel > > instead. The use of GIOChannel is only compelling if we gain some > > significant benefit from using the standard glib API in this scenario > > and I'm not clear that we really do, other than developer familiarity > > with glib. > > GIOChannel's advantage is that---even though it may not be used for > regular migration---integration with chardev would be really easy.
If we did a QEMUIOChannel that was basically the same as IOChannel, but with support for iovec writev/readv it'd mostly be drop-in replacement for the chardev code I guess. > > > GIO could be compelling if we could leverage its TLS integration > > I agree. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|