qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] vhost-vsock: force virtio version 1
@ 2020-08-19 10:51 Stefano Garzarella
  2020-08-19 10:51 ` [PATCH 1/3] vhost-vsock-pci: " Stefano Garzarella
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 10:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Cornelia Huck, qemu-stable, Halil Pasic, Christian Borntraeger,
	qemu-s390x, Michael S. Tsirkin, Richard Henderson

Recenlty changes in QEMU 5.1 requires to set 'disable-legacy=3Don'
on vhost-vsock-pci and vhost-user-vsock-pci devices:

    $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=3D5
        qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=3D5:
        device is modern-only, use disable-legacy=3Don

As discussed with Cornelia [1], this series force virtio version 1
to vhost-vsock-pci, vhost-user-vsock-pci, and vhost-vsock-ccw devices.

virtio-vsock was introduced after the release of VIRTIO 1.0 specifications,
so it should be 'modern-only'.
In addition Cornelia verified that forcing a legacy mode on vhost-vsock-pci
device using x86-64 host and s390x guest, so with different endianness,
produces strange behaviours.

About migration, QEMU 5.1 already requires that the source and destination
specify 'disable-legacy=3Don', otherwise the migration fails in this way:
    qemu-system-x86_64: get_pci_config_device: Bad config data: i=3D0x2 read:=
 12 device: 53 cmask: ff wmask: 0 w1cmask:0
    qemu-system-x86_64: Failed to load PCIDevice:config
    qemu-system-x86_64: Failed to load virtio-vhost_vsock:virtio
    qemu-system-x86_64: error while loading state for instance 0x0 of device =
'0000:00:03.0/virtio-vhost_vsock'
    qemu-system-x86_64: load of migration failed: Invalid argument

With this series applied there is the same requirements. Alternatively
we have to detach and re-attach the device manually.

Thanks,
Stefano

[1] https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg02515.html

Stefano Garzarella (3):
  vhost-vsock-pci: force virtio version 1
  vhost-user-vsock-pci: force virtio version 1
  vhost-vsock-ccw: force virtio version 1

 hw/s390x/vhost-vsock-ccw.c       | 2 ++
 hw/virtio/vhost-user-vsock-pci.c | 2 +-
 hw/virtio/vhost-vsock-pci.c      | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

--=20
2.26.2



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/3] vhost-vsock-pci: force virtio version 1
  2020-08-19 10:51 [PATCH 0/3] vhost-vsock: force virtio version 1 Stefano Garzarella
@ 2020-08-19 10:51 ` Stefano Garzarella
  2020-08-19 11:55   ` Cornelia Huck
  2020-08-19 10:51 ` [PATCH 2/3] vhost-user-vsock-pci: " Stefano Garzarella
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 10:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Cornelia Huck, qemu-stable, Halil Pasic, Christian Borntraeger,
	qemu-s390x, Michael S. Tsirkin, Richard Henderson

Commit 9b3a35ec82 ("virtio: verify that legacy support is not
accidentally on") added a safety checks that requires to set
'disable-legacy=on' on vhost-vsock-pci device:

    $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=5
        qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=5:
        device is modern-only, use disable-legacy=on

virtio-vsock was introduced after the release of VIRTIO 1.0
specifications, so it should be 'modern-only'.
In addition Cornelia verified that forcing a legacy mode on
vhost-vsock-pci device using x86-64 host and s390x guest, so with
different endianness, produces strange behaviours.

This patch forces virtio version 1 and remove 'transitional_name'
properties removing the need to specify 'disable-legacy=on' on
vhost-vsock-pci device.

Cc: qemu-stable@nongnu.org
Reported-by: Qian Cai <caiqian@redhat.com>
Reported-by: Qinghua Cheng <qcheng@redhat.com>
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1868449
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
 hw/virtio/vhost-vsock-pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/vhost-vsock-pci.c b/hw/virtio/vhost-vsock-pci.c
index a815278e69..d1fcad0472 100644
--- a/hw/virtio/vhost-vsock-pci.c
+++ b/hw/virtio/vhost-vsock-pci.c
@@ -44,6 +44,7 @@ static void vhost_vsock_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     VHostVSockPCI *dev = VHOST_VSOCK_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
 
+    virtio_pci_force_virtio_1(vpci_dev);
     qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
 }
 
@@ -72,7 +73,6 @@ static void vhost_vsock_pci_instance_init(Object *obj)
 static const VirtioPCIDeviceTypeInfo vhost_vsock_pci_info = {
     .base_name             = TYPE_VHOST_VSOCK_PCI,
     .generic_name          = "vhost-vsock-pci",
-    .transitional_name     = "vhost-vsock-pci-transitional",
     .non_transitional_name = "vhost-vsock-pci-non-transitional",
     .instance_size = sizeof(VHostVSockPCI),
     .instance_init = vhost_vsock_pci_instance_init,
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/3] vhost-user-vsock-pci: force virtio version 1
  2020-08-19 10:51 [PATCH 0/3] vhost-vsock: force virtio version 1 Stefano Garzarella
  2020-08-19 10:51 ` [PATCH 1/3] vhost-vsock-pci: " Stefano Garzarella
@ 2020-08-19 10:51 ` Stefano Garzarella
  2020-08-19 11:57   ` Cornelia Huck
  2020-08-19 10:51 ` [PATCH 3/3] vhost-vsock-ccw: " Stefano Garzarella
  2020-08-19 11:06 ` [PATCH 0/3] vhost-vsock: " David Hildenbrand
  3 siblings, 1 reply; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 10:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Cornelia Huck, qemu-stable, Halil Pasic, Christian Borntraeger,
	qemu-s390x, Michael S. Tsirkin, Richard Henderson

Commit 9b3a35ec82 ("virtio: verify that legacy support is not
accidentally on") added a safety checks that requires to set
'disable-legacy=on' on vhost-user-vsock-pci device:

    $ ./qemu-system-x86_64 ... \
    -chardev socket,id=char0,reconnect=0,path=/tmp/vhost4.socket \
    -device vhost-user-vsock-pci,chardev=char0
        qemu-system-x86_64: -device vhost-user-vsock-pci,chardev=char0:
        device is modern-only, use disable-legacy=on

virtio-vsock was introduced after the release of VIRTIO 1.0
specifications, so it should be 'modern-only'.

This patch forces virtio version 1 and remove 'transitional_name'
properties, as done for vhost-vsock-pci, removing the need to specify
'disable-legacy=on' on vhost-user-vsock-pci device.

Cc: qemu-stable@nongnu.org
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
 hw/virtio/vhost-user-vsock-pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/vhost-user-vsock-pci.c b/hw/virtio/vhost-user-vsock-pci.c
index f4cf95873d..3e17cf0480 100644
--- a/hw/virtio/vhost-user-vsock-pci.c
+++ b/hw/virtio/vhost-user-vsock-pci.c
@@ -40,6 +40,7 @@ static void vhost_user_vsock_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     VHostUserVSockPCI *dev = VHOST_USER_VSOCK_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
 
+    virtio_pci_force_virtio_1(vpci_dev);
     qdev_realize(vdev, BUS(&vpci_dev->bus), errp);
 }
 
@@ -68,7 +69,6 @@ static void vhost_user_vsock_pci_instance_init(Object *obj)
 static const VirtioPCIDeviceTypeInfo vhost_user_vsock_pci_info = {
     .base_name             = TYPE_VHOST_USER_VSOCK_PCI,
     .generic_name          = "vhost-user-vsock-pci",
-    .transitional_name     = "vhost-user-vsock-pci-transitional",
     .non_transitional_name = "vhost-user-vsock-pci-non-transitional",
     .instance_size = sizeof(VHostUserVSockPCI),
     .instance_init = vhost_user_vsock_pci_instance_init,
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/3] vhost-vsock-ccw: force virtio version 1
  2020-08-19 10:51 [PATCH 0/3] vhost-vsock: force virtio version 1 Stefano Garzarella
  2020-08-19 10:51 ` [PATCH 1/3] vhost-vsock-pci: " Stefano Garzarella
  2020-08-19 10:51 ` [PATCH 2/3] vhost-user-vsock-pci: " Stefano Garzarella
@ 2020-08-19 10:51 ` Stefano Garzarella
  2020-08-19 12:01   ` Cornelia Huck
  2020-08-19 11:06 ` [PATCH 0/3] vhost-vsock: " David Hildenbrand
  3 siblings, 1 reply; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 10:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Cornelia Huck, qemu-stable, Halil Pasic, Christian Borntraeger,
	qemu-s390x, Michael S. Tsirkin, Richard Henderson

virtio-vsock was introduced after the release of VIRTIO 1.0
specifications, so it should be 'modern-only'.

This patch forces virtio version 1 as done for vhost-vsock-pci.

Cc: qemu-stable@nongnu.org
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
---
 hw/s390x/vhost-vsock-ccw.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/s390x/vhost-vsock-ccw.c b/hw/s390x/vhost-vsock-ccw.c
index 0822ecca89..0759143efa 100644
--- a/hw/s390x/vhost-vsock-ccw.c
+++ b/hw/s390x/vhost-vsock-ccw.c
@@ -40,7 +40,9 @@ static void vhost_vsock_ccw_class_init(ObjectClass *klass, void *data)
 static void vhost_vsock_ccw_instance_init(Object *obj)
 {
     VHostVSockCCWState *dev = VHOST_VSOCK_CCW(obj);
+    VirtioCcwDevice *ccw_dev = VIRTIO_CCW_DEVICE(obj);
 
+    ccw_dev->force_revision_1 = true;
     virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
                                 TYPE_VHOST_VSOCK);
 }
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] vhost-vsock: force virtio version 1
  2020-08-19 10:51 [PATCH 0/3] vhost-vsock: force virtio version 1 Stefano Garzarella
                   ` (2 preceding siblings ...)
  2020-08-19 10:51 ` [PATCH 3/3] vhost-vsock-ccw: " Stefano Garzarella
@ 2020-08-19 11:06 ` David Hildenbrand
  2020-08-19 11:21   ` Stefano Garzarella
  3 siblings, 1 reply; 11+ messages in thread
From: David Hildenbrand @ 2020-08-19 11:06 UTC (permalink / raw)
  To: Stefano Garzarella, qemu-devel
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, Michael S. Tsirkin,
	Cornelia Huck, qemu-stable, Halil Pasic, Christian Borntraeger,
	qemu-s390x, Richard Henderson

On 19.08.20 12:51, Stefano Garzarella wrote:
> Recenlty changes in QEMU 5.1 requires to set 'disable-legacy=3Don'
> on vhost-vsock-pci and vhost-user-vsock-pci devices:
> 
>     $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=3D5
>         qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=3D5:
>         device is modern-only, use disable-legacy=3Don

Something seemed to messed up your encoding (= vs. =3D). The patches
look fine, though. (did you copy and paste this from somewhere?)

> 
> As discussed with Cornelia [1], this series force virtio version 1
> to vhost-vsock-pci, vhost-user-vsock-pci, and vhost-vsock-ccw devices.
> 
> virtio-vsock was introduced after the release of VIRTIO 1.0 specifications,
> so it should be 'modern-only'.
> In addition Cornelia verified that forcing a legacy mode on vhost-vsock-pci
> device using x86-64 host and s390x guest, so with different endianness,
> produces strange behaviours.
> 
> About migration, QEMU 5.1 already requires that the source and destination
> specify 'disable-legacy=3Don', otherwise the migration fails in this way:
>     qemu-system-x86_64: get_pci_config_device: Bad config data: i=3D0x2 read:=
>  12 device: 53 cmask: ff wmask: 0 w1cmask:0
>     qemu-system-x86_64: Failed to load PCIDevice:config
>     qemu-system-x86_64: Failed to load virtio-vhost_vsock:virtio
>     qemu-system-x86_64: error while loading state for instance 0x0 of device =
> '0000:00:03.0/virtio-vhost_vsock'
>     qemu-system-x86_64: load of migration failed: Invalid argument
> 
> With this series applied there is the same requirements. Alternatively
> we have to detach and re-attach the device manually.
> 
> Thanks,
> Stefano
> 
> [1] https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg02515.html
> 
> Stefano Garzarella (3):
>   vhost-vsock-pci: force virtio version 1
>   vhost-user-vsock-pci: force virtio version 1
>   vhost-vsock-ccw: force virtio version 1
> 
>  hw/s390x/vhost-vsock-ccw.c       | 2 ++
>  hw/virtio/vhost-user-vsock-pci.c | 2 +-
>  hw/virtio/vhost-vsock-pci.c      | 2 +-
>  3 files changed, 4 insertions(+), 2 deletions(-)
> 
> --=20

^ also here

> 2.26.2
> 


-- 
Thanks,

David / dhildenb



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/3] vhost-vsock: force virtio version 1
  2020-08-19 11:06 ` [PATCH 0/3] vhost-vsock: " David Hildenbrand
@ 2020-08-19 11:21   ` Stefano Garzarella
  0 siblings, 0 replies; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 11:21 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, Michael S. Tsirkin,
	Cornelia Huck, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, Aug 19, 2020 at 01:06:55PM +0200, David Hildenbrand wrote:
> On 19.08.20 12:51, Stefano Garzarella wrote:
> > Recenlty changes in QEMU 5.1 requires to set 'disable-legacy=3Don'
> > on vhost-vsock-pci and vhost-user-vsock-pci devices:
> > 
> >     $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=3D5
> >         qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=3D5:
> >         device is modern-only, use disable-legacy=3Don
> 
> Something seemed to messed up your encoding (= vs. =3D). The patches
> look fine, though. (did you copy and paste this from somewhere?)

mmm, I used git-publish and I copied it from the first commint of the
series.

Re-opening the cover letter with git-publish everything looks okay, so
maybe the issue happened when sending it...

> 
> > 
> > As discussed with Cornelia [1], this series force virtio version 1
> > to vhost-vsock-pci, vhost-user-vsock-pci, and vhost-vsock-ccw devices.
> > 
> > virtio-vsock was introduced after the release of VIRTIO 1.0 specifications,
> > so it should be 'modern-only'.
> > In addition Cornelia verified that forcing a legacy mode on vhost-vsock-pci
> > device using x86-64 host and s390x guest, so with different endianness,
> > produces strange behaviours.
> > 
> > About migration, QEMU 5.1 already requires that the source and destination
> > specify 'disable-legacy=3Don', otherwise the migration fails in this way:
> >     qemu-system-x86_64: get_pci_config_device: Bad config data: i=3D0x2 read:=
> >  12 device: 53 cmask: ff wmask: 0 w1cmask:0
> >     qemu-system-x86_64: Failed to load PCIDevice:config
> >     qemu-system-x86_64: Failed to load virtio-vhost_vsock:virtio
> >     qemu-system-x86_64: error while loading state for instance 0x0 of device =
> > '0000:00:03.0/virtio-vhost_vsock'
> >     qemu-system-x86_64: load of migration failed: Invalid argument
> > 
> > With this series applied there is the same requirements. Alternatively
> > we have to detach and re-attach the device manually.
> > 
> > Thanks,
> > Stefano
> > 
> > [1] https://lists.nongnu.org/archive/html/qemu-devel/2020-08/msg02515.html
> > 
> > Stefano Garzarella (3):
> >   vhost-vsock-pci: force virtio version 1
> >   vhost-user-vsock-pci: force virtio version 1
> >   vhost-vsock-ccw: force virtio version 1
> > 
> >  hw/s390x/vhost-vsock-ccw.c       | 2 ++
> >  hw/virtio/vhost-user-vsock-pci.c | 2 +-
> >  hw/virtio/vhost-vsock-pci.c      | 2 +-
> >  3 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > --=20
> 
> ^ also here

Everywhere :-(

I'll check my configuration.

Thanks for pointing that out,
Stefano



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] vhost-vsock-pci: force virtio version 1
  2020-08-19 10:51 ` [PATCH 1/3] vhost-vsock-pci: " Stefano Garzarella
@ 2020-08-19 11:55   ` Cornelia Huck
  2020-08-19 12:09     ` Stefano Garzarella
  0 siblings, 1 reply; 11+ messages in thread
From: Cornelia Huck @ 2020-08-19 11:55 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Michael S. Tsirkin, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, 19 Aug 2020 12:51:54 +0200
Stefano Garzarella <sgarzare@redhat.com> wrote:

> Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> accidentally on") added a safety checks that requires to set

Nit: s/checks/check/ (also in patch 2)

> 'disable-legacy=on' on vhost-vsock-pci device:
> 
>     $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=5
>         qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=5:
>         device is modern-only, use disable-legacy=on
> 
> virtio-vsock was introduced after the release of VIRTIO 1.0
> specifications, so it should be 'modern-only'.
> In addition Cornelia verified that forcing a legacy mode on
> vhost-vsock-pci device using x86-64 host and s390x guest, so with
> different endianness, produces strange behaviours.
> 
> This patch forces virtio version 1 and remove 'transitional_name'
> properties removing the need to specify 'disable-legacy=on' on

"removes the 'transitional_name' property" ?

(Unless you want to merge with patch 2, which might make sense.)

> vhost-vsock-pci device.
> 
> Cc: qemu-stable@nongnu.org
> Reported-by: Qian Cai <caiqian@redhat.com>
> Reported-by: Qinghua Cheng <qcheng@redhat.com>
> Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1868449
> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
>  hw/virtio/vhost-vsock-pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/3] vhost-user-vsock-pci: force virtio version 1
  2020-08-19 10:51 ` [PATCH 2/3] vhost-user-vsock-pci: " Stefano Garzarella
@ 2020-08-19 11:57   ` Cornelia Huck
  0 siblings, 0 replies; 11+ messages in thread
From: Cornelia Huck @ 2020-08-19 11:57 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Michael S. Tsirkin, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, 19 Aug 2020 12:51:55 +0200
Stefano Garzarella <sgarzare@redhat.com> wrote:

> Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> accidentally on") added a safety checks that requires to set
> 'disable-legacy=on' on vhost-user-vsock-pci device:
> 
>     $ ./qemu-system-x86_64 ... \
>     -chardev socket,id=char0,reconnect=0,path=/tmp/vhost4.socket \
>     -device vhost-user-vsock-pci,chardev=char0
>         qemu-system-x86_64: -device vhost-user-vsock-pci,chardev=char0:
>         device is modern-only, use disable-legacy=on
> 
> virtio-vsock was introduced after the release of VIRTIO 1.0
> specifications, so it should be 'modern-only'.
> 
> This patch forces virtio version 1 and remove 'transitional_name'
> properties, as done for vhost-vsock-pci, removing the need to specify
> 'disable-legacy=on' on vhost-user-vsock-pci device.
> 
> Cc: qemu-stable@nongnu.org
> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
>  hw/virtio/vhost-user-vsock-pci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Same nits for the patch description as for patch 1, otherwise

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/3] vhost-vsock-ccw: force virtio version 1
  2020-08-19 10:51 ` [PATCH 3/3] vhost-vsock-ccw: " Stefano Garzarella
@ 2020-08-19 12:01   ` Cornelia Huck
  0 siblings, 0 replies; 11+ messages in thread
From: Cornelia Huck @ 2020-08-19 12:01 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Michael S. Tsirkin, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, 19 Aug 2020 12:51:56 +0200
Stefano Garzarella <sgarzare@redhat.com> wrote:

> virtio-vsock was introduced after the release of VIRTIO 1.0
> specifications, so it should be 'modern-only'.
> 
> This patch forces virtio version 1 as done for vhost-vsock-pci.
> 
> Cc: qemu-stable@nongnu.org
> Suggested-by: Cornelia Huck <cohuck@redhat.com>
> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> ---
>  hw/s390x/vhost-vsock-ccw.c | 2 ++
>  1 file changed, 2 insertions(+)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] vhost-vsock-pci: force virtio version 1
  2020-08-19 11:55   ` Cornelia Huck
@ 2020-08-19 12:09     ` Stefano Garzarella
  2020-08-19 12:28       ` Cornelia Huck
  0 siblings, 1 reply; 11+ messages in thread
From: Stefano Garzarella @ 2020-08-19 12:09 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Michael S. Tsirkin, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, Aug 19, 2020 at 01:55:42PM +0200, Cornelia Huck wrote:
> On Wed, 19 Aug 2020 12:51:54 +0200
> Stefano Garzarella <sgarzare@redhat.com> wrote:
> 
> > Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> > accidentally on") added a safety checks that requires to set
> 
> Nit: s/checks/check/ (also in patch 2)

I'll fix.

> 
> > 'disable-legacy=on' on vhost-vsock-pci device:
> > 
> >     $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=5
> >         qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=5:
> >         device is modern-only, use disable-legacy=on
> > 
> > virtio-vsock was introduced after the release of VIRTIO 1.0
> > specifications, so it should be 'modern-only'.
> > In addition Cornelia verified that forcing a legacy mode on
> > vhost-vsock-pci device using x86-64 host and s390x guest, so with
> > different endianness, produces strange behaviours.
> > 
> > This patch forces virtio version 1 and remove 'transitional_name'
> > properties removing the need to specify 'disable-legacy=on' on
> 
> "removes the 'transitional_name' property" ?

It is better, I'll fix.

> 
> (Unless you want to merge with patch 2, which might make sense.)

I left seprated because vhost-user-vsock-pci was introduced in QEMU 5.1,
so I wanted to make it easier to backport on others stable branches.
(I'm not sure if we continue to support 4.2).

Does it make sense to keep them separated?

> 
> > vhost-vsock-pci device.
> > 
> > Cc: qemu-stable@nongnu.org
> > Reported-by: Qian Cai <caiqian@redhat.com>
> > Reported-by: Qinghua Cheng <qcheng@redhat.com>
> > Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1868449
> > Suggested-by: Cornelia Huck <cohuck@redhat.com>
> > Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> > ---
> >  hw/virtio/vhost-vsock-pci.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> 

Thanks,
Stefano



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/3] vhost-vsock-pci: force virtio version 1
  2020-08-19 12:09     ` Stefano Garzarella
@ 2020-08-19 12:28       ` Cornelia Huck
  0 siblings, 0 replies; 11+ messages in thread
From: Cornelia Huck @ 2020-08-19 12:28 UTC (permalink / raw)
  To: Stefano Garzarella
  Cc: Thomas Huth, Qinghua Cheng, Qian Cai, David Hildenbrand,
	Michael S. Tsirkin, qemu-devel, qemu-stable, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Richard Henderson

On Wed, 19 Aug 2020 14:09:10 +0200
Stefano Garzarella <sgarzare@redhat.com> wrote:

> On Wed, Aug 19, 2020 at 01:55:42PM +0200, Cornelia Huck wrote:
> > On Wed, 19 Aug 2020 12:51:54 +0200
> > Stefano Garzarella <sgarzare@redhat.com> wrote:
> >   
> > > Commit 9b3a35ec82 ("virtio: verify that legacy support is not
> > > accidentally on") added a safety checks that requires to set  
> > 
> > Nit: s/checks/check/ (also in patch 2)  
> 
> I'll fix.
> 
> >   
> > > 'disable-legacy=on' on vhost-vsock-pci device:
> > > 
> > >     $ ./qemu-system-x86_64 ... -device vhost-vsock-pci,guest-cid=5
> > >         qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=5:
> > >         device is modern-only, use disable-legacy=on
> > > 
> > > virtio-vsock was introduced after the release of VIRTIO 1.0
> > > specifications, so it should be 'modern-only'.
> > > In addition Cornelia verified that forcing a legacy mode on
> > > vhost-vsock-pci device using x86-64 host and s390x guest, so with
> > > different endianness, produces strange behaviours.
> > > 
> > > This patch forces virtio version 1 and remove 'transitional_name'
> > > properties removing the need to specify 'disable-legacy=on' on  
> > 
> > "removes the 'transitional_name' property" ?  
> 
> It is better, I'll fix.
> 
> > 
> > (Unless you want to merge with patch 2, which might make sense.)  
> 
> I left seprated because vhost-user-vsock-pci was introduced in QEMU 5.1,
> so I wanted to make it easier to backport on others stable branches.
> (I'm not sure if we continue to support 4.2).
> 
> Does it make sense to keep them separated?

Yes, indeed, it makes sense for stable backporting purposes.



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-08-19 12:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 10:51 [PATCH 0/3] vhost-vsock: force virtio version 1 Stefano Garzarella
2020-08-19 10:51 ` [PATCH 1/3] vhost-vsock-pci: " Stefano Garzarella
2020-08-19 11:55   ` Cornelia Huck
2020-08-19 12:09     ` Stefano Garzarella
2020-08-19 12:28       ` Cornelia Huck
2020-08-19 10:51 ` [PATCH 2/3] vhost-user-vsock-pci: " Stefano Garzarella
2020-08-19 11:57   ` Cornelia Huck
2020-08-19 10:51 ` [PATCH 3/3] vhost-vsock-ccw: " Stefano Garzarella
2020-08-19 12:01   ` Cornelia Huck
2020-08-19 11:06 ` [PATCH 0/3] vhost-vsock: " David Hildenbrand
2020-08-19 11:21   ` Stefano Garzarella

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).