qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Fabiano Rosas <farosas@suse.de>
To: qemu-devel@nongnu.org
Cc: Nicholas Piggin <npiggin@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Fabian Vogt <fvogt@suse.de>,
	Peter Xu <peterx@redhat.com>
Subject: [PATCH 0/4] ppc: Fix migration issues with XICS and quiesce
Date: Tue, 19 Aug 2025 19:39:01 -0300	[thread overview]
Message-ID: <20250819223905.2247-1-farosas@suse.de> (raw)

Fabian reports two issues with migration on ppc64le, one of which with
a proposed fix, which I include in this series.

1) XICS migration causes a guest hang after migration due to missing
   ICP server state. Fix is to bring back the vmstate_register call
   for that device. Breaks backward migration, but it was already
   non-functional anyway.

2) pseries migration causes a guest hang after migration due to a new
   variable used to track the stopped state of vcpus, which is not
   migrated. Fix is to migrate the new variable. To avoid breaking
   backward migration, a compat property is added. Breaks forward
   migration, a workaround is proposed.

I also added some functional tests changes because there are currently
no test that can detect the kind of hangs seen here. RFC on those,
feel free to nitpick.

Thanks

CI run: https://gitlab.com/farosas/qemu/-/pipelines/1992482993

Fabian Vogt (1):
  hw/intc/xics: Add missing call to register vmstate_icp_server

Fabiano Rosas (3):
  tests/functional: Extract migration code into a new class
  tests/functional: Add a OS level migration test for pseries
  target/ppc: Fix env->quiesced migration

 hw/core/machine.c                       |  1 +
 hw/intc/xics.c                          |  2 ++
 target/ppc/cpu.h                        |  1 +
 target/ppc/cpu_init.c                   |  7 +++++
 target/ppc/machine.c                    | 40 ++++++++++++++++++++++++
 tests/functional/qemu_test/migration.py | 40 ++++++++++++++++++++++++
 tests/functional/test_migration.py      | 24 ++-------------
 tests/functional/test_ppc64_pseries.py  | 41 +++++++++++++++++++++++++
 8 files changed, 135 insertions(+), 21 deletions(-)
 create mode 100644 tests/functional/qemu_test/migration.py

-- 
2.35.3



             reply	other threads:[~2025-08-19 22:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-19 22:39 Fabiano Rosas [this message]
2025-08-19 22:39 ` [PATCH 1/4] hw/intc/xics: Add missing call to register vmstate_icp_server Fabiano Rosas
2025-09-18 15:28   ` Gautam Menghani
2025-08-19 22:39 ` [RFC PATCH 2/4] tests/functional: Extract migration code into a new class Fabiano Rosas
2025-08-20  6:50   ` Thomas Huth
2025-08-19 22:39 ` [RFC PATCH 3/4] tests/functional: Add a OS level migration test for pseries Fabiano Rosas
2025-08-20  7:03   ` Thomas Huth
2025-08-20 15:08     ` Fabiano Rosas
2025-08-19 22:39 ` [PATCH 4/4] target/ppc: Fix env->quiesced migration Fabiano Rosas
2025-08-20  6:55   ` Thomas Huth
2025-08-20 15:07     ` Fabiano Rosas
2025-08-20 15:20       ` Thomas Huth

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=20250819223905.2247-1-farosas@suse.de \
    --to=farosas@suse.de \
    --cc=fvogt@suse.de \
    --cc=npiggin@gmail.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /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 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).