From: Anthony Liguori <anthony@codemonkey.ws>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/2] Tunnel character device data over VNC (v1)
Date: Wed, 01 Jul 2009 16:32:27 -0500 [thread overview]
Message-ID: <4A4BD5EB.5060701@codemonkey.ws> (raw)
In-Reply-To: <4A4BCD80.2000906@redhat.com>
Gerd Hoffmann wrote:
> With multiple connections and multiplexing: You'll just connect, type
> a few commands, disconnect, done. You'll even see what you have done
> when you come back to the office the next day.
>
> Also note that the vnc server accepts input from multiple clients as
> well, which can lead to simliar problems. Nobody wants to kill
> support for multiple clients just because of that, because in practice
> it isn't a issue.
I don't disagree with your use-case. What I'm pointing out, is that we
need to do some major surgery to get there.
The current chardev protocol has no real notion of flow control and
assumes a static bidirectional channel between the front-end and
back-end. Flow control policy is inconsistent and those decisions are
made in the back-end (i.e. tcp:).
We really need to push flow-control to be a proper part of the protocol
though so that the front-end can participate. For instance,
virtio-console/serial is fully capable of implementing flow control.
Punting buffering policy to the guest is IMHO the best possible solution
to the general problem.
Having multiple connections within a chardev really also needs to be
part of the monitor protocol because it's fundamental to flow-control.
We want the front-end to have enough information to know how many
clients are connected and which ones are ready to receive.
When dealing with a single I/O source, it should be front-end policy to
determine what to do. Certainly, there are some front-ends (like the
monitor) that can support multiple I/O sources. Another example is the
VNC server which really should be using chardevs.
I agree that mirroring is a pretty reasonable policy to map a single I/O
source to multiple clients for some devices. That should be a front-end
decision though.
In this model, I still don't see having two different back-ends
connected to a single front-end. I don't know if I agree there's a
whole lot of value in that although the implementation is straight
forward (a special back-end that unifies multiple front-ends as sessions).
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-07-01 21:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-01 16:21 [Qemu-devel] [PATCH 0/2] Tunnel character device data over VNC (v1) Daniel P. Berrange
2009-07-01 16:26 ` [Qemu-devel] [PATCH 1/2] APIs to capture character device data Daniel P. Berrange
2009-07-01 16:27 ` [Qemu-devel] [PATCH 2/2] VNC char device data stream tunnelling Daniel P. Berrange
2009-07-01 18:44 ` Anthony Liguori
2009-07-01 16:32 ` [Qemu-devel] [PATCH 0/2] Tunnel character device data over VNC (v1) Daniel P. Berrange
2009-07-01 16:42 ` Gerd Hoffmann
2009-07-01 16:50 ` Daniel P. Berrange
2009-07-01 17:30 ` Gerd Hoffmann
2009-07-01 18:50 ` Daniel P. Berrange
2009-07-01 19:27 ` Gerd Hoffmann
2009-07-01 18:51 ` Anthony Liguori
2009-07-01 19:41 ` Gerd Hoffmann
2009-07-01 19:59 ` Anthony Liguori
2009-07-01 20:56 ` Gerd Hoffmann
2009-07-01 21:32 ` Anthony Liguori [this message]
2009-07-01 22:46 ` Gerd Hoffmann
2009-07-02 2:30 ` Jamie Lokier
2009-07-01 21:07 ` Daniel P. Berrange
2009-07-01 18:36 ` Anthony Liguori
2009-07-01 18:44 ` Daniel P. Berrange
2009-07-01 18:47 ` Anthony Liguori
2009-07-01 18:52 ` Daniel P. Berrange
2009-07-01 19:11 ` Anthony Liguori
2009-07-01 19:27 ` Daniel P. Berrange
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=4A4BD5EB.5060701@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=kraxel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.