qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: "Marc-André Lureau" <marcandre.lureau@gmail.com>
Cc: QEMU <qemu-devel@nongnu.org>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [Qemu-devel] [RFC 00/14] vhost-user backends for gpu & input virtio devices
Date: Tue, 07 Jun 2016 16:47:07 +0200	[thread overview]
Message-ID: <1465310827.14901.104.camel@redhat.com> (raw)
In-Reply-To: <CAJ+F1CLk2Pm0kd6QU=x6PeD9=ZE9DHOaw1F7gZkk=0bpowF-7g@mail.gmail.com>

On Mo, 2016-06-06 at 15:54 +0200, Marc-André Lureau wrote:
> Hi Gerd
> 
> Thanks for your feedback on the series. Your remarks are all valid,
> but before doing more work I would like to know if there is enough
> interest. It duplicates work and adds some complexity. Also, some
> general feedback on design would be welcome.
> 
> What is proposed in this series:
> - the vhost-user-backend is a helper object spawning, setting up and
> holding a connection to a backend
> - the vhost-user socket is set to be fd 3 in child process

Which implies a 1:1 relationship between object and backend.  Which
isn't that great if we want allow for multiple backends in one process
(your idea below, and I think it can be useful).

> - "add vhost-user backend to virtio-input-host" patch shows how little
> is required for a virtio device to use vhost-user-backend, and is
> quite a neat use case imho (allowing various input backends)

Indeed.  Doing a "mouse wiggler" would be a pretty minimal backend.

> - there are device specific vhost-user messages to be added, such as
> VHOST_USER_INPUT_GET_CONFIG, or we may use extra fd for communication
> to pass to child during fork

Is that needed?  I think it should be possible to create device-agnostic
messages for config access.

> - when there is a whole set of messages to add, like the VHOST_GPU*, I
> decided to use a different socket, given to backend with
> VHOST_USER_GPU_SET_SOCKET.

I would tend to send it all over the same socket.

> I am not sold that we need to develop a new vhost protocol for the gpu
> though. I am considering the Spice worker thread (handling cursor and
> display) to actually run in the vhost backend.

Interesting idea, would safe quite a few context switches for dma-buf
passing.  But it also brings new challenges, vga compatibility for
example.  Also spice channel management.  vdagent, ...

I'd suggest put it aside for now though.  Get the other stuff done
first.  Running virglrenderer in a separate process is certainly very
useful from a security point of view, and that is a big enough project
for a while I suspect.

> Going further, once we have proper reconnect & reset support in
> vhost-user & virtio, one can imagine running/stoping different UIs
> too.

That'll be quite difficult for virtio-gpu too.
virtio-input should be easy though.

cheers,
  Gerd

  reply	other threads:[~2016-06-07 14:47 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-04 21:33 [Qemu-devel] [RFC 00/14] vhost-user backends for gpu & input virtio devices marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 01/14] Add qemu_chr_open_socket() marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 02/14] Add vhost-user-backend marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 03/14] vhost-user: split vhost_user_read() marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 04/14] vhost-user: add vhost_user_input_get_config() marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 05/14] Add vhost-user backend to virtio-input-host marcandre.lureau
2016-06-06  6:22   ` Gerd Hoffmann
2016-06-04 21:33 ` [Qemu-devel] [RFC 06/14] contrib: add vhost-user-input marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 07/14] misc: rename virtio-gpu.h header guard marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 08/14] vhost: make sure call fd has been received marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 09/14] qemu-char: use READ_RETRIES marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 10/14] qemu-char: block during sync read marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 11/14] console: add dpy_gl_scanout2() marcandre.lureau
2016-06-06  6:35   ` Gerd Hoffmann
2016-06-06 13:18     ` Marc-André Lureau
2016-06-06 14:04       ` Gerd Hoffmann
2016-06-04 21:33 ` [Qemu-devel] [RFC 12/14] contrib: add vhost-user-gpu marcandre.lureau
2016-06-04 21:33 ` [Qemu-devel] [RFC 13/14] vhost-user: add vhost_user_gpu_set_socket() marcandre.lureau
2016-06-06  6:36   ` Gerd Hoffmann
2016-06-04 21:33 ` [Qemu-devel] [RFC 14/14] Add virtio-gpu vhost-user backend marcandre.lureau
2016-06-06  6:54   ` Gerd Hoffmann
2016-06-06 13:54 ` [Qemu-devel] [RFC 00/14] vhost-user backends for gpu & input virtio devices Marc-André Lureau
2016-06-07 14:47   ` Gerd Hoffmann [this message]
2016-06-07 15:01     ` Marc-André Lureau
2016-06-08  6:11       ` Gerd Hoffmann
2016-06-08 12:53         ` Marc-André Lureau

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=1465310827.14901.104.camel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=marcandre.lureau@gmail.com \
    --cc=marcandre.lureau@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).