From: Greg Kurz <groug@kaod.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: Laurent Vivier <lvivier@redhat.com>,
Alexey Kardashevskiy <aik@ozlabs.ru>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: [PATCH v2 0/2] spapr: Fix device unplug vs CAS or migration
Date: Fri, 14 Feb 2020 16:01:16 +0100 [thread overview]
Message-ID: <158169247578.3465937.4013536808417411649.stgit@bahia.lan> (raw)
While working on getting rid of CAS reboot, I realized that we currently
don't handle device hot unplug properly in the following situations:
1) if the device is unplugged between boot and CAS, SLOF doesn't handle
the even, which is a known limitation. The device hence stays around
forever (specifically, until some other event is emitted and the guest
eventually completes the unplug or a reboot). Until we can teach SLOF
to correctly process the full FDT at CAS, we should trigger a CAS reboot,
like we already do for hotplug.
2) if the guest is migrated after the even was emitted but before the
guest could process it, the destination is unaware of the pending
unplug operation and doesn't remove the device when the guests
releases it. The 'unplug_requested' field of the DRC is actually state
that should be migrated.
Changes since v1:
- new spapr_drc_transient() helper that covers pending plug and unplug
situations for both CAS and migration
- as a mechanical consequence, fix unplug for CAS an migration in the
same patch
--
Greg
---
Greg Kurz (2):
spapr: Don't use spapr_drc_needed() in CAS code
spapr: Fix handling of unplugged devices during CAS and migration
hw/ppc/spapr_drc.c | 43 ++++++++++++++++++++++++++++++++++++-------
hw/ppc/spapr_hcall.c | 14 +++++++++-----
include/hw/ppc/spapr_drc.h | 4 +++-
3 files changed, 48 insertions(+), 13 deletions(-)
next reply other threads:[~2020-02-14 15:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-14 15:01 Greg Kurz [this message]
2020-02-14 15:01 ` [PATCH v2 1/2] spapr: Don't use spapr_drc_needed() in CAS code Greg Kurz
2020-02-14 15:01 ` [PATCH v2 2/2] spapr: Fix handling of unplugged devices during CAS and migration Greg Kurz
2020-02-17 0:31 ` [PATCH v2 0/2] spapr: Fix device unplug vs CAS or migration David Gibson
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=158169247578.3465937.4013536808417411649.stgit@bahia.lan \
--to=groug@kaod.org \
--cc=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=lvivier@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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 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).