[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] virtio: update queue size on guest write
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH] virtio: update queue size on guest write |
Date: |
Mon, 16 Dec 2019 05:52:58 -0500 |
On Mon, Dec 16, 2019 at 09:50:13AM +0100, Stefano Garzarella wrote:
> On Fri, Dec 13, 2019 at 09:24:03AM -0500, Michael S. Tsirkin wrote:
> > Some guests read back queue size after writing it.
> > Update the size immediatly upon write otherwise
> > they get confused.
> >
> > Signed-off-by: Michael S. Tsirkin <address@hidden>
> > ---
> > hw/virtio/virtio-pci.c | 2 ++
> > 1 file changed, 2 insertions(+)
>
> Reviewed-by: Stefano Garzarella <address@hidden>
>
>
> Just a question, should we do the same in virtio-mmio?
>
> Maybe doing virtio_queue_set_num() in any case (legacy and non-legacy)
> during VIRTIO_MMIO_QUEUE_NUM writing.
>
> Thanks,
> Stefano
I guess it makes sense ...
> >
> > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> > index c6b47a9c73..e5c759e19e 100644
> > --- a/hw/virtio/virtio-pci.c
> > +++ b/hw/virtio/virtio-pci.c
> > @@ -1256,6 +1256,8 @@ static void virtio_pci_common_write(void *opaque,
> > hwaddr addr,
> > break;
> > case VIRTIO_PCI_COMMON_Q_SIZE:
> > proxy->vqs[vdev->queue_sel].num = val;
> > + virtio_queue_set_num(vdev, vdev->queue_sel,
> > + proxy->vqs[vdev->queue_sel].num);
> > break;
> > case VIRTIO_PCI_COMMON_Q_MSIX:
> > msix_vector_unuse(&proxy->pci_dev,
> > --
> > MST
> >
> >
>
> --