On (Thu) 29 Dec 2011 [15:16:55], Christian Borntraeger wrote: > >> +++ b/hw/virtio-serial-bus.c > >> @@ -163,7 +163,19 @@ static void do_flush_queued_data(VirtIOS > >> abort(); > >> } > >> if (ret == -EAGAIN || (ret >= 0 && ret < buf_size)) { > >> - virtio_serial_throttle_port(port, true); > > > > I'm surprised: did you test this with upstream qemu? That codebase > > doesn't yet throttle writes, and this code path won't execute. Does > > it really not reproduce with this patch? > > I think > static void handle_output(VirtIODevice *vdev, VirtQueue *vq) > [....] > if (!port->throttled) { > do_flush_queued_data(port, vq, vdev); > return; > > makes a difference here, since we will never return the buffer to the guest, > no?
port->throttled never becomes true for qemu. I'm just unsure how this patch works for you :) Amit