From: Antoine Martin <antoine@nagafix.co.uk>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: netdev@vger.kernel.org
Subject: Re: AF_VSOCK status
Date: Mon, 11 Apr 2016 18:53:05 +0700 [thread overview]
Message-ID: <570B9021.5050709@nagafix.co.uk> (raw)
In-Reply-To: <20160406092609.GA17538@stefanha-x1.localdomain>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
(snip)
> The patches are on the list (latest version sent last week):
> http://comments.gmane.org/gmane.linux.kernel.virtualization/27455
>
> They are only "Request For Comments" because the VIRTIO
> specification changes have not been approved yet. Once the spec
> is approved then the patches can be seriously considered for
> merging.
>
> There will definitely be a v6 with Claudio Imbrenda's locking
> fixes.
If that's any help, feel free to CC me and we'll test it.
(not sure how long I will stay subscribed to this high traffic list)
>> We now have a vsock transport merged into xpra, which works very
>> well with the kernel and qemu versions found here:
>> http://qemu-project.org/Features/VirtioVsock Congratulations on
>> making this easy to use! Is the upcoming revised interface
>> likely to cause incompatibilities with existing binaries?
>
> Userspace applications should not notice a difference.
Great.
>> It seems impossible for the host to connect to a guest: the
>> guest has to initiate the connection. Is this a feature / known
>> limitation or am I missing something? For some of our use cases,
>> it would be more practical to connect in the other direction.
>
> host->guest connections have always been allowed. I just checked
> that it works with the latest code in my repo:
>
> guest# nc-vsock -l 1234 host# nc-vsock 3 1234
Sorry about that, it does work fine, I must have tested it wrong.
With our latest code:
* host connecting to a guest session:
guest# xpra start --bind-vsock=auto:1234 --start-child=xterm
host# xpra attach vsock:$THECID:1234
* guest out to the host (no need for knowing the CID):
host# xpra start --bind-vsock=auto:1234 --start-child=xterm
guest# xpra attach vsock:host:1234
>> In terms of raw performance, I am getting about 10Gbps on an
>> Intel Skylake i7 (the data stream arrives from the OS socket
>> recv syscall split into 256KB chunks), that's good but not much
>> faster than virtio-net and since the packets are avoiding all
>> sorts of OS layer overheads I was hoping to get a little bit
>> closer to the ~200Gbps memory bandwidth that this CPU+RAM are
>> capable of. Am I dreaming or just doing it wrong?
>
> virtio-vsock is not yet optimized but the priority is not to make
> something faster than virtio-net. virtio-vsock is not for
> applications who are trying to squeeze out every last drop of
> performance. Instead the goal is to have a transport for
> guest<->hypervisor services that need to be zero-configuration.
Understood. It does that and this is a big win for us already, it's
also faster than virtio-net it seems, so this was not a complaint.
>> How hard would it be to introduce a virtio mmap-like transport
>> of some sort so that the guest and host could share some memory
>> region? I assume this would give us the best possible
>> performance when transferring large amounts of data? (we already
>> have a local mmap transport we could adapt)
>
> Shared memory is beyond the scope of virtio-vsock and it's
> unlikely to be added.
I wasn't thinking of adding this to virtio-vsock, this would be a
separate backend.
> There are a few existing ways to achieve that without involving
> virtio-vsock: vhost-user or ivshmem.
Yes, I've looked at those and they seem a bit overkill for what we
want to achieve. We don't want sharing with multiple guests, or
interrupts.
All we want is a chunk of host memory to be accessible from the guest..
Thanks
Antoine
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEARECAAYFAlcLkBsACgkQGK2zHPGK1ruJ0wCfbNkc5L0ewUBuI7DgTyuwGRBz
aZoAn2pEbrVAkLoCMOunCYQ1FoaDIETr
=qrz1
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2016-04-11 11:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-05 12:34 AF_VSOCK status Antoine Martin
2016-04-06 9:26 ` Stefan Hajnoczi
2016-04-11 11:53 ` Antoine Martin [this message]
2016-04-12 14:03 ` Stefan Hajnoczi
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=570B9021.5050709@nagafix.co.uk \
--to=antoine@nagafix.co.uk \
--cc=netdev@vger.kernel.org \
--cc=stefanha@redhat.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).