qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing
@ 2023-09-15 17:08 Eugenio Pérez
  2023-09-15 17:08 ` [PATCH v2 1/3] vdpa net: fix error message setting virtio status Eugenio Pérez
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Eugenio Pérez @ 2023-09-15 17:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

This series solves a few issues.  The most obvious is that the feature set was
done previous to ACKNOWLEDGE | DRIVER status bit set.  Current vdpa devices are
permissive with this, but it is better to follow the standard.

Apart from that it fixes two issues reported by Peter Maydell:
* Stop probing CVQ isolation if cannot set features (goto missed).
* Fix incorrect error message statis "error setting features", while it should
say status.

v2: add forgotten Fixes tag

Eugenio Pérez (3):
  vdpa net: fix error message setting virtio status
  vdpa net: stop probing if cannot set features
  vdpa net: follow VirtIO initialization properly at cvq isolation
    probing

 net/vhost-vdpa.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

-- 
2.39.3




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

* [PATCH v2 1/3] vdpa net: fix error message setting virtio status
  2023-09-15 17:08 [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing Eugenio Pérez
@ 2023-09-15 17:08 ` Eugenio Pérez
  2023-09-15 17:20   ` Philippe Mathieu-Daudé
  2023-09-15 17:08 ` [PATCH v2 2/3] vdpa net: stop probing if cannot set features Eugenio Pérez
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Eugenio Pérez @ 2023-09-15 17:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

It incorrectly prints "error setting features", probably because a copy
paste miss.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
 net/vhost-vdpa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 34202ca009..9845e2db9c 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -1293,7 +1293,7 @@ static int vhost_vdpa_probe_cvq_isolation(int device_fd, uint64_t features,
 
     r = ioctl(device_fd, VHOST_VDPA_SET_STATUS, &status);
     if (unlikely(r)) {
-        error_setg_errno(errp, -r, "Cannot set device features");
+        error_setg_errno(errp, -r, "Cannot set status");
         goto out;
     }
 
-- 
2.39.3



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

* [PATCH v2 2/3] vdpa net: stop probing if cannot set features
  2023-09-15 17:08 [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing Eugenio Pérez
  2023-09-15 17:08 ` [PATCH v2 1/3] vdpa net: fix error message setting virtio status Eugenio Pérez
@ 2023-09-15 17:08 ` Eugenio Pérez
  2023-09-15 17:20   ` Philippe Mathieu-Daudé
  2023-09-15 17:08 ` [PATCH v2 3/3] vdpa net: follow VirtIO initialization properly at cvq isolation probing Eugenio Pérez
  2023-09-20 13:08 ` [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net " Lei Yang
  3 siblings, 1 reply; 7+ messages in thread
From: Eugenio Pérez @ 2023-09-15 17:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

Otherwise it continues the CVQ isolation probing.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
 net/vhost-vdpa.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 9845e2db9c..51d8144070 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -1289,6 +1289,7 @@ static int vhost_vdpa_probe_cvq_isolation(int device_fd, uint64_t features,
     r = ioctl(device_fd, VHOST_SET_FEATURES, &features);
     if (unlikely(r)) {
         error_setg_errno(errp, errno, "Cannot set features");
+        goto out;
     }
 
     r = ioctl(device_fd, VHOST_VDPA_SET_STATUS, &status);
-- 
2.39.3



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

* [PATCH v2 3/3] vdpa net: follow VirtIO initialization properly at cvq isolation probing
  2023-09-15 17:08 [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing Eugenio Pérez
  2023-09-15 17:08 ` [PATCH v2 1/3] vdpa net: fix error message setting virtio status Eugenio Pérez
  2023-09-15 17:08 ` [PATCH v2 2/3] vdpa net: stop probing if cannot set features Eugenio Pérez
@ 2023-09-15 17:08 ` Eugenio Pérez
  2023-09-20 13:08 ` [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net " Lei Yang
  3 siblings, 0 replies; 7+ messages in thread
From: Eugenio Pérez @ 2023-09-15 17:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

This patch solves a few issues.  The most obvious is that the feature
set was done previous to ACKNOWLEDGE | DRIVER status bit set.  Current
vdpa devices are permissive with this, but it is better to follow the
standard.

Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
 net/vhost-vdpa.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 51d8144070..4b30325977 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -1270,8 +1270,7 @@ static int vhost_vdpa_probe_cvq_isolation(int device_fd, uint64_t features,
     uint64_t backend_features;
     int64_t cvq_group;
     uint8_t status = VIRTIO_CONFIG_S_ACKNOWLEDGE |
-                     VIRTIO_CONFIG_S_DRIVER |
-                     VIRTIO_CONFIG_S_FEATURES_OK;
+                     VIRTIO_CONFIG_S_DRIVER;
     int r;
 
     ERRP_GUARD();
@@ -1286,15 +1285,22 @@ static int vhost_vdpa_probe_cvq_isolation(int device_fd, uint64_t features,
         return 0;
     }
 
+    r = ioctl(device_fd, VHOST_VDPA_SET_STATUS, &status);
+    if (unlikely(r)) {
+        error_setg_errno(errp, -r, "Cannot set device status");
+        goto out;
+    }
+
     r = ioctl(device_fd, VHOST_SET_FEATURES, &features);
     if (unlikely(r)) {
-        error_setg_errno(errp, errno, "Cannot set features");
+        error_setg_errno(errp, -r, "Cannot set features");
         goto out;
     }
 
+    status |= VIRTIO_CONFIG_S_FEATURES_OK;
     r = ioctl(device_fd, VHOST_VDPA_SET_STATUS, &status);
     if (unlikely(r)) {
-        error_setg_errno(errp, -r, "Cannot set status");
+        error_setg_errno(errp, -r, "Cannot set device status");
         goto out;
     }
 
-- 
2.39.3



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

* Re: [PATCH v2 1/3] vdpa net: fix error message setting virtio status
  2023-09-15 17:08 ` [PATCH v2 1/3] vdpa net: fix error message setting virtio status Eugenio Pérez
@ 2023-09-15 17:20   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-09-15 17:20 UTC (permalink / raw)
  To: Eugenio Pérez, qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

On 15/9/23 19:08, Eugenio Pérez wrote:
> It incorrectly prints "error setting features", probably because a copy
> paste miss.
> 
> Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> ---
>   net/vhost-vdpa.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH v2 2/3] vdpa net: stop probing if cannot set features
  2023-09-15 17:08 ` [PATCH v2 2/3] vdpa net: stop probing if cannot set features Eugenio Pérez
@ 2023-09-15 17:20   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-09-15 17:20 UTC (permalink / raw)
  To: Eugenio Pérez, qemu-devel
  Cc: Hawkins Jiawei, qemu-stable, si-wei.liu, Michael S. Tsirkin,
	Lei Yang, Jason Wang

On 15/9/23 19:08, Eugenio Pérez wrote:
> Otherwise it continues the CVQ isolation probing.
> 
> Fixes: 152128d646 ("vdpa: move CVQ isolation check to net_init_vhost_vdpa")
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> ---
>   net/vhost-vdpa.c | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing
  2023-09-15 17:08 [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing Eugenio Pérez
                   ` (2 preceding siblings ...)
  2023-09-15 17:08 ` [PATCH v2 3/3] vdpa net: follow VirtIO initialization properly at cvq isolation probing Eugenio Pérez
@ 2023-09-20 13:08 ` Lei Yang
  3 siblings, 0 replies; 7+ messages in thread
From: Lei Yang @ 2023-09-20 13:08 UTC (permalink / raw)
  To: Eugenio Pérez
  Cc: qemu-devel, Hawkins Jiawei, qemu-stable, si-wei.liu,
	Michael S. Tsirkin, Jason Wang

QE tested this series with regression testing, everything works fine.

Tested-by: Lei Yang <leiyang@redhat.com>

On Sat, Sep 16, 2023 at 1:08 AM Eugenio Pérez <eperezma@redhat.com> wrote:
>
> This series solves a few issues.  The most obvious is that the feature set was
> done previous to ACKNOWLEDGE | DRIVER status bit set.  Current vdpa devices are
> permissive with this, but it is better to follow the standard.
>
> Apart from that it fixes two issues reported by Peter Maydell:
> * Stop probing CVQ isolation if cannot set features (goto missed).
> * Fix incorrect error message statis "error setting features", while it should
> say status.
>
> v2: add forgotten Fixes tag
>
> Eugenio Pérez (3):
>   vdpa net: fix error message setting virtio status
>   vdpa net: stop probing if cannot set features
>   vdpa net: follow VirtIO initialization properly at cvq isolation
>     probing
>
>  net/vhost-vdpa.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
>
> --
> 2.39.3
>
>



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

end of thread, other threads:[~2023-09-20 13:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15 17:08 [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net cvq isolation probing Eugenio Pérez
2023-09-15 17:08 ` [PATCH v2 1/3] vdpa net: fix error message setting virtio status Eugenio Pérez
2023-09-15 17:20   ` Philippe Mathieu-Daudé
2023-09-15 17:08 ` [PATCH v2 2/3] vdpa net: stop probing if cannot set features Eugenio Pérez
2023-09-15 17:20   ` Philippe Mathieu-Daudé
2023-09-15 17:08 ` [PATCH v2 3/3] vdpa net: follow VirtIO initialization properly at cvq isolation probing Eugenio Pérez
2023-09-20 13:08 ` [PATCH v2 0/3] Follow VirtIO initialization properly at vdpa net " Lei Yang

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