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

Reply via email to