qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Amit Shah <amit.shah@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/8] virtio-serial-bus: Add support for buffering guest output, throttling guests
Date: Mon, 11 Jan 2010 10:45:53 +0000	[thread overview]
Message-ID: <20100111104553.GA4746@shareable.org> (raw)
In-Reply-To: <20100111083443.GA6061@amit-x200.redhat.com>

Amit Shah wrote:
> On (Fri) Jan 08 2010 [13:35:03], Jamie Lokier wrote:
> > Since VNC is clearly designed to work over TCP, and is written by
> > people who know this, I'm wondering why you think it needs to be
> > different for virtio-serial.
> 
> For vnc putting stuff from a guest clipboard into vnc client clipboard
> using the ServerCutText command, the entire buffer has to be provided
> after sending the command and the 'length' values.

Are you talking about a VNC protocol command between qemu's VNC server
and the user's VNC client, or a private protocol between the guest and
qemu's VNC server?

> In this case, if the data from guest arrives in multiple packets, we
> really don't want to call into the write function multiple times. A
> single clipboard entry has to be created in the client with the entire
> contents, so a single write operation has to be invoked.

Same question again: *Why do you think the VNC server (in qemu) needs to
see the entire clipboard in a aingle write from the guest?*

You have already told it the total length to expect.  There is no
ambiguity about where it ends.

There is no need to do any more, if the reciever (in qemu) is
implemented correctly with a sane protocol.  That's assuming the guest
sends to qemu's VNC server which then sends it to the user's VNC client.

> For this to happen, there has to be some indication from the guest as to
> how much data was written in one write() operation, which will let us
> make a single write operation to the vnc client.

When it is sent to the user's VNC client, it will be split into
multiple packets by TCP. You *can't* send a single large write over
TCP without getting it split at arbitrary places. It's *impossible*. TCP
doesn't support that. It will split and merge your writes arbitrarily.

So the only interesting part is how it's transmitted from the guest to
qemu's VNC server first. Do you get to design that protocol yourself?

-- Jamie

  reply	other threads:[~2010-01-11 10:46 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-07  7:31 [Qemu-devel] [PATCH 0/8] virtio-console: Move to qdev, multiple devices, generic ports Amit Shah
2010-01-07  7:31 ` [Qemu-devel] [PATCH 1/8] virtio: Remove duplicate macro definition for max. virtqueues, bump up the max Amit Shah
2010-01-07  7:31   ` [Qemu-devel] [PATCH 2/8] virtio-console: qdev conversion, new virtio-serial-bus Amit Shah
2010-01-07  7:31     ` [Qemu-devel] [PATCH 3/8] virtio-serial-bus: Maintain guest and host port open/close state Amit Shah
2010-01-07  7:31       ` [Qemu-devel] [PATCH 4/8] virtio-serial-bus: Add a port 'name' property for port discovery in guests Amit Shah
2010-01-07  7:31         ` [Qemu-devel] [PATCH 5/8] virtio-serial-bus: Add support for buffering guest output, throttling guests Amit Shah
2010-01-07  7:31           ` [Qemu-devel] [PATCH 6/8] virtio-serial-bus: Add ability to hot-unplug ports Amit Shah
2010-01-07  7:31             ` [Qemu-devel] [PATCH 7/8] virtio-serial: Add a 'virtserialport' device for generic serial port support Amit Shah
2010-01-07  7:31               ` [Qemu-devel] [PATCH 8/8] Move virtio-serial to Makefile.hw Amit Shah
2010-01-08  0:41                 ` Andreas Färber
2010-01-08  5:01                   ` Amit Shah
2010-01-08  1:12           ` [Qemu-devel] [PATCH 5/8] virtio-serial-bus: Add support for buffering guest output, throttling guests Jamie Lokier
2010-01-08  5:03             ` Amit Shah
2010-01-08 13:35               ` Jamie Lokier
2010-01-08 16:26                 ` Anthony Liguori
2010-01-11  8:39                   ` Amit Shah
2010-01-12  0:28                     ` Anthony Liguori
2010-01-12  7:08                       ` Amit Shah
2010-01-11  8:34                 ` Amit Shah
2010-01-11 10:45                   ` Jamie Lokier [this message]
2010-01-11 11:04                     ` Amit Shah
2010-01-11 23:33                       ` Jamie Lokier
2010-01-12  0:27                         ` Anthony Liguori
2010-01-12  7:16                         ` Amit Shah
2010-01-12 15:00                           ` Anthony Liguori
2010-01-12 15:13                             ` Amit Shah
2010-01-12 15:46                               ` Anthony Liguori
2010-01-12 15:49                                 ` Amit Shah
2010-01-12 15:55                                   ` Anthony Liguori
2010-01-12 16:04                                     ` Amit Shah
2010-01-13 17:14                             ` Markus Armbruster
2010-01-13 18:31                               ` Anthony Liguori
2010-01-11 19:57   ` [Qemu-devel] [PATCH 1/8] virtio: Remove duplicate macro definition for max. virtqueues, bump up the max Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2010-01-14 13:17 [Qemu-devel] [PATCH 0/8] virtio-console: Move to qdev, multiple devices, generic ports Amit Shah
2010-01-14 13:17 ` [Qemu-devel] [PATCH 1/8] virtio: Remove duplicate macro definition for max. virtqueues, bump up the max Amit Shah
2010-01-14 13:17   ` [Qemu-devel] [PATCH 2/8] virtio-console: qdev conversion, new virtio-serial-bus Amit Shah
2010-01-14 13:17     ` [Qemu-devel] [PATCH 3/8] virtio-serial-bus: Maintain guest and host port open/close state Amit Shah
2010-01-14 13:17       ` [Qemu-devel] [PATCH 4/8] virtio-serial-bus: Add a port 'name' property for port discovery in guests Amit Shah
2010-01-14 13:17         ` [Qemu-devel] [PATCH 5/8] virtio-serial-bus: Add support for buffering guest output, throttling guests Amit Shah
2010-01-04 17:34 [Qemu-devel] [PATCH 0/8] virtio-console: Move to qdev, multiple devices, generic ports Amit Shah
2010-01-04 17:34 ` [Qemu-devel] [PATCH 1/8] virtio: Remove duplicate macro definition for max. virtqueues, bump up the max Amit Shah
2010-01-04 17:34   ` [Qemu-devel] [PATCH 2/8] virtio-console: qdev conversion, new virtio-serial-bus Amit Shah
2010-01-04 17:34     ` [Qemu-devel] [PATCH 3/8] virtio-serial-bus: Maintain guest and host port open/close state Amit Shah
2010-01-04 17:34       ` [Qemu-devel] [PATCH 4/8] virtio-serial-bus: Add a port 'name' property for port discovery in guests Amit Shah
2010-01-04 17:34         ` [Qemu-devel] [PATCH 5/8] virtio-serial-bus: Add support for buffering guest output, throttling guests Amit Shah

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100111104553.GA4746@shareable.org \
    --to=jamie@shareable.org \
    --cc=amit.shah@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).