All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@gmail.com>
To: Laurent Vivier <lvivier@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, QEMU <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL 8/9] virtio-gpu: split virtio-gpu-pci & virtio-vga
Date: Tue, 25 Jun 2019 22:56:05 +0200	[thread overview]
Message-ID: <CAJ+F1CJKBgw6ZE2Ja4NwpegSJCZ2_c+kM-w=3QfZHbeVfnE2vA@mail.gmail.com> (raw)
In-Reply-To: <af1192c3-1b56-eee3-35ef-25787f6ad67d@redhat.com>

Hi

On Mon, Jun 24, 2019 at 5:53 PM Laurent Vivier <lvivier@redhat.com> wrote:
>
> On 29/05/2019 06:40, Gerd Hoffmann wrote:
> > From: Marc-André Lureau <marcandre.lureau@redhat.com>
> >
> > Add base classes that are common to vhost-user-gpu-pci and
> > vhost-user-vga.
> >
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > Message-id: 20190524130946.31736-9-marcandre.lureau@redhat.com
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> >  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 <ehabkost@redhat.com>
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	other threads:[~2019-06-25 20:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29  4:40 [Qemu-devel] [PULL 0/9] Vga 20190529 patches Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 1/9] vhost-user: add vhost_user_gpu_set_socket() Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 2/9] virtio-gpu: add bswap helpers header Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 3/9] virtio-gpu: add a pixman helper header Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 4/9] util: compile drm.o on posix Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 5/9] contrib: add vhost-user-gpu Gerd Hoffmann
2019-05-30 11:14   ` Peter Maydell
2020-03-23 10:11   ` Peter Maydell
2020-03-23 11:04     ` Philippe Mathieu-Daudé
2019-05-29  4:40 ` [Qemu-devel] [PULL 6/9] spice-app: fix running when !CONFIG_OPENGL Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 7/9] virtio-gpu: split virtio-gpu, introduce virtio-gpu-base Gerd Hoffmann
2019-05-29  4:40 ` [Qemu-devel] [PULL 8/9] virtio-gpu: split virtio-gpu-pci & virtio-vga Gerd Hoffmann
2019-06-24 15:47   ` Laurent Vivier
2019-06-25 20:56     ` Marc-André Lureau [this message]
2019-05-29  4:40 ` [Qemu-devel] [PULL 9/9] hw/display: add vhost-user-vga & gpu-pci Gerd Hoffmann
2019-05-30 12:54 ` [Qemu-devel] [PULL 0/9] Vga 20190529 patches Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ+F1CJKBgw6ZE2Ja4NwpegSJCZ2_c+kM-w=3QfZHbeVfnE2vA@mail.gmail.com' \
    --to=marcandre.lureau@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.