[Qemu-devel] [PATCH 0/4] ppc: fix migration with KVM PR (nested)

Greg Kurz posted 4 patches 6 years, 7 months ago
Failed in applying to current master (apply log)
hw/ppc/spapr.c          |   15 +++++++++++++++
hw/ppc/spapr_cpu_core.c |    8 +++-----
hw/ppc/spapr_hcall.c    |   20 +++++++++-----------
include/hw/ppc/spapr.h  |    1 +
target/ppc/cpu.h        |    1 +
target/ppc/kvm.c        |   12 ++++++++----
target/ppc/kvm_ppc.h    |    3 ++-
target/ppc/machine.c    |    7 +++++++
8 files changed, 46 insertions(+), 21 deletions(-)
[Qemu-devel] [PATCH 0/4] ppc: fix migration with KVM PR (nested)
Posted by Greg Kurz 6 years, 7 months ago
A guest running with KVM PR ends up irresponsive after migration most of the
time. This happens because the HPT allocated by QEMU is likely to have a
different address on the destination than it had on the source, but we push
the source address to KVM.

This series does a little cleanup and fixes the issue. I could successfully
test it with a nested setup (KVM PR running in KVM HV).

However, this isn't enough to fix migration when using KVM PR on baremetal...
CPUs seem to end up looping on H_CEDE in the guest. I can't figure out what's
happening... Any suggestion would be appreciated.

Cheers,

--
Greg

---

Greg Kurz (4):
      spapr: only update SDR1 once per-cpu during CAS
      spapr: introduce a helper to compute the address of the HPT
      ppc: kvm: introduce a helper to update SDR1 for a single CPU
      ppc: kvm: update HPT pointer in KVM PR after migration


 hw/ppc/spapr.c          |   15 +++++++++++++++
 hw/ppc/spapr_cpu_core.c |    8 +++-----
 hw/ppc/spapr_hcall.c    |   20 +++++++++-----------
 include/hw/ppc/spapr.h  |    1 +
 target/ppc/cpu.h        |    1 +
 target/ppc/kvm.c        |   12 ++++++++----
 target/ppc/kvm_ppc.h    |    3 ++-
 target/ppc/machine.c    |    7 +++++++
 8 files changed, 46 insertions(+), 21 deletions(-)


Re: [Qemu-devel] [Qemu-ppc] [PATCH 0/4] ppc: fix migration with KVM PR (nested)
Posted by Greg Kurz 6 years, 7 months ago
I wanted to Cc Sam also but it was late and I forgot :)

On Mon, 04 Sep 2017 23:46:44 +0200
Greg Kurz <groug@kaod.org> wrote:

> A guest running with KVM PR ends up irresponsive after migration most of the
> time. This happens because the HPT allocated by QEMU is likely to have a
> different address on the destination than it had on the source, but we push
> the source address to KVM.
> 
> This series does a little cleanup and fixes the issue. I could successfully
> test it with a nested setup (KVM PR running in KVM HV).
> 
> However, this isn't enough to fix migration when using KVM PR on baremetal...
> CPUs seem to end up looping on H_CEDE in the guest. I can't figure out what's
> happening... Any suggestion would be appreciated.
> 
> Cheers,
> 
> --
> Greg
> 
> ---
> 
> Greg Kurz (4):
>       spapr: only update SDR1 once per-cpu during CAS
>       spapr: introduce a helper to compute the address of the HPT
>       ppc: kvm: introduce a helper to update SDR1 for a single CPU
>       ppc: kvm: update HPT pointer in KVM PR after migration
> 
> 
>  hw/ppc/spapr.c          |   15 +++++++++++++++
>  hw/ppc/spapr_cpu_core.c |    8 +++-----
>  hw/ppc/spapr_hcall.c    |   20 +++++++++-----------
>  include/hw/ppc/spapr.h  |    1 +
>  target/ppc/cpu.h        |    1 +
>  target/ppc/kvm.c        |   12 ++++++++----
>  target/ppc/kvm_ppc.h    |    3 ++-
>  target/ppc/machine.c    |    7 +++++++
>  8 files changed, 46 insertions(+), 21 deletions(-)
> 
>