qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 8/9] virtio-gpu: split virtio-gpu-pci & virtio-vg


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PULL 8/9] virtio-gpu: split virtio-gpu-pci & virtio-vga
Date: Tue, 25 Jun 2019 22:56:05 +0200

Hi

On Mon, Jun 24, 2019 at 5:53 PM Laurent Vivier <address@hidden> wrote:
>
> On 29/05/2019 06:40, Gerd Hoffmann wrote:
> > From: Marc-André Lureau <address@hidden>
> >
> > Add base classes that are common to vhost-user-gpu-pci and
> > vhost-user-vga.
> >
> > Signed-off-by: Marc-André Lureau <address@hidden>
> > Message-id: address@hidden
> > Signed-off-by: Gerd Hoffmann <address@hidden>
> > ---
> >  hw/display/virtio-vga.h     |  32 +++++++++
> >  hw/display/virtio-gpu-pci.c |  52 +++++++++-----
> >  hw/display/virtio-vga.c     | 135 ++++++++++++++++++------------------
> >  MAINTAINERS                 |   2 +-
> >  4 files changed, 137 insertions(+), 84 deletions(-)
> >  create mode 100644 hw/display/virtio-vga.h
> >
>
> This patch breaks something in the migration (no need of an OS, tested during 
> SLOF sequence).
>
> Tested between v4.0.0 and master.
>
> v4.0.0: ppc64-softmmu/qemu-system-ppc64 -machine pseries-4.0 \
>                                         -device virtio-gpu-pci \
>                                         -serial mon:stdio -incoming tcp:0:4444
>
> master: ppc64-softmmu/qemu-system-ppc64 -machine pseries-4.0 \
>                                         -device virtio-gpu-pci \
>                                         -serial mon:stdio
>
>
> master: (qemu) migrate tcp:localhost:4444
>
> v4.0.0:
>
>   qemu-system-ppc64: get_pci_config_device: Bad config data: i=0x34 read: 98 
> device: 84 cmask: ff wmask: 0 w1cmask:0
>   qemu-system-ppc64: Failed to load PCIDevice:config
>   qemu-system-ppc64: Failed to load virtio-gpu:virtio
>   qemu-system-ppc64: error while loading state for instance 0x0 of device 
> 'pci@800000020000000:02.0/virtio-gpu'
>   qemu-system-ppc64: load of migration failed: Invalid argument
>
> Is this something known?

Thanks for the report, I wasn't aware of it.

The problem actually started from:

commit a4ee4c8baa37154f42b4dc6a13fee79268d15238
Author: Eduardo Habkost <address@hidden>
Date:   Wed Dec 5 17:57:03 2018 -0200

    virtio: Helper for registering virtio device types


Since that commit virtio_gpu_pci_properties got lost (overwritten in
virtio_pci_generic_class_init), and thus the PCI device changed (bar1
missing etc).

My patches actually restored it as a side effect of defining a new base class.

There are other devices affected with missing vectors and ioeventfd
(and sometime a few others props): virtio-crypto-pci, virtio-9p-pci,
vhost-user-blk-pci and more. They probably suffer similar migration
issues.

Given that this is a 4.0 regression, I think we should fix the
remaining devices, and backport fixes to 4.0-stable. I am looking at
it




--
Marc-André Lureau



reply via email to

[Prev in Thread] Current Thread [Next in Thread]