Message ID | 20230130124728.175610-1-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | [v2] backends/vhost-user: remove the ioeventfd check | expand |
On Mon, 30 Jan 2023 at 07:48, Alex Bennée <alex.bennee@linaro.org> wrote: > > While ioeventfds are needed for good performance with KVM guests it > should not be a gating requirement. We can run vhost-user backends using > simulated ioeventfds or inband signalling. > > With this change I can run: > > $QEMU $OPTS \ > -display gtk,gl=on \ > -device vhost-user-gpu-pci,chardev=vhgpu \ > -chardev socket,id=vhgpu,path=vhgpu.sock > > with: > > ./contrib/vhost-user-gpu/vhost-user-gpu \ > -s vhgpu.sock \ > -v > > and at least see things start-up - although the display gets rotated by > 180 degrees. Once lightdm takes over we never make it to the login > prompt and just get a blank screen. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > Cc: Gerd Hoffmann <kraxel@redhat.com> > Message-Id: <20221202132231.1048669-1-alex.bennee@linaro.org> > > --- > v2 > - reword commit message to make it clear we simulate ioeventfd > - drop check altogether as we can fallback for KVM as well > --- > backends/vhost-user.c | 11 ----------- > 1 file changed, 11 deletions(-) Nice! Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff --git a/backends/vhost-user.c b/backends/vhost-user.c index 7bfcaef976..7aae57f56c 100644 --- a/backends/vhost-user.c +++ b/backends/vhost-user.c @@ -21,12 +21,6 @@ #include "io/channel-command.h" #include "hw/virtio/virtio-bus.h" -static bool -ioeventfd_enabled(void) -{ - return kvm_enabled() && kvm_eventfds_enabled(); -} - int vhost_user_backend_dev_init(VhostUserBackend *b, VirtIODevice *vdev, unsigned nvqs, Error **errp) @@ -35,11 +29,6 @@ vhost_user_backend_dev_init(VhostUserBackend *b, VirtIODevice *vdev, assert(!b->vdev && vdev); - if (!ioeventfd_enabled()) { - error_setg(errp, "vhost initialization failed: requires kvm"); - return -1; - } - if (!vhost_user_init(&b->vhost_user, &b->chr, errp)) { return -1; }
While ioeventfds are needed for good performance with KVM guests it should not be a gating requirement. We can run vhost-user backends using simulated ioeventfds or inband signalling. With this change I can run: $QEMU $OPTS \ -display gtk,gl=on \ -device vhost-user-gpu-pci,chardev=vhgpu \ -chardev socket,id=vhgpu,path=vhgpu.sock with: ./contrib/vhost-user-gpu/vhost-user-gpu \ -s vhgpu.sock \ -v and at least see things start-up - although the display gets rotated by 180 degrees. Once lightdm takes over we never make it to the login prompt and just get a blank screen. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Gerd Hoffmann <kraxel@redhat.com> Message-Id: <20221202132231.1048669-1-alex.bennee@linaro.org> --- v2 - reword commit message to make it clear we simulate ioeventfd - drop check altogether as we can fallback for KVM as well --- backends/vhost-user.c | 11 ----------- 1 file changed, 11 deletions(-)