* [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
@ 2025-10-29 12:50 Wafer Xie
2025-11-06 6:41 ` Jason Wang
2025-11-06 8:04 ` Eugenio Perez Martin
0 siblings, 2 replies; 6+ messages in thread
From: Wafer Xie @ 2025-10-29 12:50 UTC (permalink / raw)
To: eperezma, mst, qemu-devel; +Cc: jasowang, angus.chen, wafer
When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
while the remaining queues are not updated to the suspended state.
As a result, when stopping a multi-queue vhost-vdpa device,
the following error message will be printed.
qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
---
hw/virtio/vhost-vdpa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
index 7061b6e1a3..2d5e6aca74 100644
--- a/hw/virtio/vhost-vdpa.c
+++ b/hw/virtio/vhost-vdpa.c
@@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
return 0;
}
- if (!v->suspended) {
+ if (!v->suspended && vhost_vdpa_first_dev(dev)) {
/*
* Cannot trust in value returned by device, let vhost recover used
* idx from guest.
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
2025-10-29 12:50 [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues Wafer Xie
@ 2025-11-06 6:41 ` Jason Wang
2025-11-06 8:04 ` Eugenio Perez Martin
1 sibling, 0 replies; 6+ messages in thread
From: Jason Wang @ 2025-11-06 6:41 UTC (permalink / raw)
To: Wafer Xie; +Cc: eperezma, mst, qemu-devel, angus.chen
On Wed, Oct 29, 2025 at 8:50 PM Wafer Xie <wafer@jaguarmicro.com> wrote:
>
> When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
> while the remaining queues are not updated to the suspended state.
This looks like a bug, no?
> As a result, when stopping a multi-queue vhost-vdpa device,
> the following error message will be printed.
>
> qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
>
> qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
>
> Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
>
> Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
> ---
> hw/virtio/vhost-vdpa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> index 7061b6e1a3..2d5e6aca74 100644
> --- a/hw/virtio/vhost-vdpa.c
> +++ b/hw/virtio/vhost-vdpa.c
> @@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
> return 0;
> }
>
> - if (!v->suspended) {
> + if (!v->suspended && vhost_vdpa_first_dev(dev)) {
> /*
> * Cannot trust in value returned by device, let vhost recover used
> * idx from guest.
> --
> 2.34.1
>
Thanks
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
2025-10-29 12:50 [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues Wafer Xie
2025-11-06 6:41 ` Jason Wang
@ 2025-11-06 8:04 ` Eugenio Perez Martin
2026-02-03 13:40 ` Michael S. Tsirkin
1 sibling, 1 reply; 6+ messages in thread
From: Eugenio Perez Martin @ 2025-11-06 8:04 UTC (permalink / raw)
To: Wafer Xie; +Cc: mst, qemu-devel, jasowang, angus.chen
On Wed, Oct 29, 2025 at 1:50 PM Wafer Xie <wafer@jaguarmicro.com> wrote:
>
> When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
> while the remaining queues are not updated to the suspended state.
> As a result, when stopping a multi-queue vhost-vdpa device,
> the following error message will be printed.
>
> qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
>
> qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
>
> Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
>
> Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
> ---
> hw/virtio/vhost-vdpa.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> index 7061b6e1a3..2d5e6aca74 100644
> --- a/hw/virtio/vhost-vdpa.c
> +++ b/hw/virtio/vhost-vdpa.c
> @@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
> return 0;
> }
>
> - if (!v->suspended) {
> + if (!v->suspended && vhost_vdpa_first_dev(dev)) {
I'm sorry I missed this fix!
Good catch, thank you very much! But the right fix is to move
v->suspended to v->shared, and then all the vhost_vdpa devices cannot
have different suspended states.
Apart from that, please include the tag
Fixes: 0bb302a9960a ("vdpa: add vhost_vdpa_suspend")
In the patch description.
Thanks!
> /*
> * Cannot trust in value returned by device, let vhost recover used
> * idx from guest.
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
2025-11-06 8:04 ` Eugenio Perez Martin
@ 2026-02-03 13:40 ` Michael S. Tsirkin
2026-02-03 13:56 ` Eugenio Perez Martin
0 siblings, 1 reply; 6+ messages in thread
From: Michael S. Tsirkin @ 2026-02-03 13:40 UTC (permalink / raw)
To: Eugenio Perez Martin; +Cc: Wafer Xie, qemu-devel, jasowang, angus.chen
On Thu, Nov 06, 2025 at 09:04:46AM +0100, Eugenio Perez Martin wrote:
> On Wed, Oct 29, 2025 at 1:50 PM Wafer Xie <wafer@jaguarmicro.com> wrote:
> >
> > When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
> > while the remaining queues are not updated to the suspended state.
> > As a result, when stopping a multi-queue vhost-vdpa device,
> > the following error message will be printed.
> >
> > qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
> >
> > qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
> >
> > Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
> >
> > Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
> > ---
> > hw/virtio/vhost-vdpa.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> > index 7061b6e1a3..2d5e6aca74 100644
> > --- a/hw/virtio/vhost-vdpa.c
> > +++ b/hw/virtio/vhost-vdpa.c
> > @@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
> > return 0;
> > }
> >
> > - if (!v->suspended) {
> > + if (!v->suspended && vhost_vdpa_first_dev(dev)) {
>
> I'm sorry I missed this fix!
>
> Good catch, thank you very much! But the right fix is to move
> v->suspended to v->shared, and then all the vhost_vdpa devices cannot
> have different suspended states.
>
> Apart from that, please include the tag
>
> Fixes: 0bb302a9960a ("vdpa: add vhost_vdpa_suspend")
>
> In the patch description.
>
> Thanks!
Eugenio do you want to post the fix?
> > /*
> > * Cannot trust in value returned by device, let vhost recover used
> > * idx from guest.
> > --
> > 2.34.1
> >
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
2026-02-03 13:40 ` Michael S. Tsirkin
@ 2026-02-03 13:56 ` Eugenio Perez Martin
2026-02-03 16:22 ` Michael S. Tsirkin
0 siblings, 1 reply; 6+ messages in thread
From: Eugenio Perez Martin @ 2026-02-03 13:56 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: Wafer Xie, qemu-devel, jasowang, angus.chen
On Tue, Feb 3, 2026 at 2:40 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Thu, Nov 06, 2025 at 09:04:46AM +0100, Eugenio Perez Martin wrote:
> > On Wed, Oct 29, 2025 at 1:50 PM Wafer Xie <wafer@jaguarmicro.com> wrote:
> > >
> > > When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
> > > while the remaining queues are not updated to the suspended state.
> > > As a result, when stopping a multi-queue vhost-vdpa device,
> > > the following error message will be printed.
> > >
> > > qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
> > >
> > > qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
> > >
> > > Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
> > >
> > > Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
> > > ---
> > > hw/virtio/vhost-vdpa.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> > > index 7061b6e1a3..2d5e6aca74 100644
> > > --- a/hw/virtio/vhost-vdpa.c
> > > +++ b/hw/virtio/vhost-vdpa.c
> > > @@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
> > > return 0;
> > > }
> > >
> > > - if (!v->suspended) {
> > > + if (!v->suspended && vhost_vdpa_first_dev(dev)) {
> >
> > I'm sorry I missed this fix!
> >
> > Good catch, thank you very much! But the right fix is to move
> > v->suspended to v->shared, and then all the vhost_vdpa devices cannot
> > have different suspended states.
> >
> > Apart from that, please include the tag
> >
> > Fixes: 0bb302a9960a ("vdpa: add vhost_vdpa_suspend")
> >
> > In the patch description.
> >
> > Thanks!
>
>
> Eugenio do you want to post the fix?
>
Wafer posted it some time ago, but I realize now it was posted with a
different subject:
https://mail.gnu.org/archive/html/qemu-devel/2025-11/msg02947.html
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues
2026-02-03 13:56 ` Eugenio Perez Martin
@ 2026-02-03 16:22 ` Michael S. Tsirkin
0 siblings, 0 replies; 6+ messages in thread
From: Michael S. Tsirkin @ 2026-02-03 16:22 UTC (permalink / raw)
To: Eugenio Perez Martin; +Cc: Wafer Xie, qemu-devel, jasowang, angus.chen
On Tue, Feb 03, 2026 at 02:56:19PM +0100, Eugenio Perez Martin wrote:
> On Tue, Feb 3, 2026 at 2:40 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Thu, Nov 06, 2025 at 09:04:46AM +0100, Eugenio Perez Martin wrote:
> > > On Wed, Oct 29, 2025 at 1:50 PM Wafer Xie <wafer@jaguarmicro.com> wrote:
> > > >
> > > > When stopping a vhost-vdpa device, only the first queue pair is marked as suspended,
> > > > while the remaining queues are not updated to the suspended state.
> > > > As a result, when stopping a multi-queue vhost-vdpa device,
> > > > the following error message will be printed.
> > > >
> > > > qemu-system-x86_64:vhost VQ 2 ring restore failed: -1: Operation not permitted (1)
> > > >
> > > > qemu-system-x86_64:vhost VQ 3 ring restore failed: -1: Operation not permitted (1)
> > > >
> > > > Fixes: b6662cb7 ("vdpa: add vhost_vdpa->suspended parameter")
> > > >
> > > > Signed-off-by: Wafer Xie <wafer@jaguarmicro.com>
> > > > ---
> > > > hw/virtio/vhost-vdpa.c | 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> > > > index 7061b6e1a3..2d5e6aca74 100644
> > > > --- a/hw/virtio/vhost-vdpa.c
> > > > +++ b/hw/virtio/vhost-vdpa.c
> > > > @@ -1481,7 +1481,7 @@ static int vhost_vdpa_get_vring_base(struct vhost_dev *dev,
> > > > return 0;
> > > > }
> > > >
> > > > - if (!v->suspended) {
> > > > + if (!v->suspended && vhost_vdpa_first_dev(dev)) {
> > >
> > > I'm sorry I missed this fix!
> > >
> > > Good catch, thank you very much! But the right fix is to move
> > > v->suspended to v->shared, and then all the vhost_vdpa devices cannot
> > > have different suspended states.
> > >
> > > Apart from that, please include the tag
> > >
> > > Fixes: 0bb302a9960a ("vdpa: add vhost_vdpa_suspend")
> > >
> > > In the patch description.
> > >
> > > Thanks!
> >
> >
> > Eugenio do you want to post the fix?
> >
>
> Wafer posted it some time ago, but I realize now it was posted with a
> different subject:
>
> https://mail.gnu.org/archive/html/qemu-devel/2025-11/msg02947.html
Oh right that one is tagged. Thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-02-03 16:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-29 12:50 [PATCH] vdpa: fix cannot get vring base when stopping a vhost-vdpa device with multiple queues Wafer Xie
2025-11-06 6:41 ` Jason Wang
2025-11-06 8:04 ` Eugenio Perez Martin
2026-02-03 13:40 ` Michael S. Tsirkin
2026-02-03 13:56 ` Eugenio Perez Martin
2026-02-03 16:22 ` Michael S. Tsirkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.