From: Tim Deegan <tim@xen.org>
To: Ross Philipson <ross.philipson@citrix.com>
Cc: Vincent Hanquez <vincent.hanquez@citrix.com>,
David Vrabel <david.vrabel@citrix.com>,
Xen-devel@lists.xen.org
Subject: Re: Inter-domain Communication using Virtual Sockets (high-level design)
Date: Thu, 20 Jun 2013 12:30:29 +0100 [thread overview]
Message-ID: <20130620113029.GC44917@ocelot.phlegethon.org> (raw)
In-Reply-To: <51BF555E.1040306@citrix.com>
Hi,
At 14:28 -0400 on 17 Jun (1371479326), Ross Philipson wrote:
> >I'd be very interested to hear the v4v authors' opinions on this VSOCK
> >draft, btw -- in particular if it (or something similar) can provide all
> >v4v's features without new hypervisor code, I'd very much prefer it.
>
> I guess I cannot be 100% just by reading the part of the spec on the low
> level transport mechanism. We originally tried to use a grant based
> model and ran into issue. Two of the most pronounced were:
>
> - Failure of grantees to release grants would cause hung domains under
> certain situations. This was discussed early in the V4V RFC work that
> Jean G. did. I am not sure if this has been fixed and if so, how. There
> was a suggestion about a fix in a reply from Daniel a while back.
I think that using grant-copy can sort this out. I believe that with v2
grant tables a grant can be marked as 'copy-only'.
> - Synchronization between guests was very complicated without a
> central arbitrator like the hypervisor.
I think that the VSOCK backend is intended to be that arbitrator, but
with the nice properties of allowing multiple arbitrators in a
partitioned system (with independent administrators) and of moving all
the arbitration code out of the hypervisor.
The down-side is that rather than allowing a generic many-to-one
multiplexed channel, VSOCK would provide such a channel _only_ for
connection requests (or at least, adding other uses might require
changing the manager). That seems OK to me, but you might have other
use cases?
Another down-side is having to bounce requests off an intermediate VM
will add some latency, but again if it's only at connection-setup time
that seems OK.
> Also this solution may have some scaling issues. If I understand the
> model being proposed here, each ring which I guess is a connection
> consumes an event channel. In the large number of connections scenario
> is this not a scaling problem?
I think it relies on the proposed changes to extend the number of event
channels; other than that I suspect it will scale better than the
current v4v 'select' model, where the client must scan every ring
looking for the one that's changed.
Cheers,
Tim.
next prev parent reply other threads:[~2013-06-20 11:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-11 18:07 Inter-domain Communication using Virtual Sockets (high-level design) David Vrabel
2013-06-11 18:54 ` Andrew Cooper
2013-06-13 16:27 ` Tim Deegan
2013-06-17 16:19 ` David Vrabel
2013-06-20 11:15 ` Tim Deegan
2013-06-17 18:28 ` Ross Philipson
2013-06-20 11:05 ` David Vrabel
2013-06-20 11:30 ` Tim Deegan [this message]
2013-06-20 14:11 ` Ross Philipson
2013-10-30 14:51 ` David Vrabel
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=20130620113029.GC44917@ocelot.phlegethon.org \
--to=tim@xen.org \
--cc=Xen-devel@lists.xen.org \
--cc=david.vrabel@citrix.com \
--cc=ross.philipson@citrix.com \
--cc=vincent.hanquez@citrix.com \
/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).