linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] KVM: arm/arm64: Fix VCPU power management problems
@ 2019-01-25  9:46 Christoffer Dall
  2019-01-25  9:46 ` [PATCH 1/5] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded Christoffer Dall
                   ` (4 more replies)
  0 siblings, 5 replies; 38+ messages in thread
From: Christoffer Dall @ 2019-01-25  9:46 UTC (permalink / raw)
  To: kvmarm, linux-arm-kernel; +Cc: Christoffer Dall, kvm

This series fixes a number of issues:

 - When powering on and resetting VCPUs, we can be preempted in the
   middle which can lead to guest system register corruption.

 - We were missing support for PSCI ON_PENDING when multiple VCPUs try
   to turn on a target VCPU at the same time.

 - Powering off a VCPU could race with powering on the same VCPU.

 - We unnecesarily panic'ed if we found a non-initialized guest system
   register.

The main approach to fixing all these problems is by using VCPU
requests.

See the individual patches for more details.

Christoffer Dall (3):
  KVM: arm/arm64: Reset the VCPU without preemption and vcpu state
    loaded
  KVM: arm/arm64: Require VCPU threads to turn them self off
  KVM: arm/arm64: Implement PSCI ON_PENDING when turning on VCPUs

Marc Zyngier (2):
  arm/arm64: KVM: Allow a VCPU to fully reset itself
  arm/arm64: KVM: Don't panic on failure to properly reset system
    registers

 arch/arm/include/asm/kvm_host.h   | 22 ++++++++++-
 arch/arm/kvm/coproc.c             |  4 +-
 arch/arm/kvm/reset.c              | 24 ++++++++++++
 arch/arm64/include/asm/kvm_host.h | 23 ++++++++++-
 arch/arm64/kvm/reset.c            | 50 +++++++++++++++++++++++-
 arch/arm64/kvm/sys_regs.c         |  4 +-
 virt/kvm/arm/arm.c                | 40 ++++++++++++++-----
 virt/kvm/arm/psci.c               | 64 +++++++++++++++----------------
 8 files changed, 177 insertions(+), 54 deletions(-)

-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2019-02-27 12:05 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25  9:46 [PATCH 0/5] KVM: arm/arm64: Fix VCPU power management problems Christoffer Dall
2019-01-25  9:46 ` [PATCH 1/5] KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded Christoffer Dall
2019-01-29 15:48   ` Andrew Jones
2019-01-29 16:05     ` Marc Zyngier
2019-01-30  9:22       ` Christoffer Dall
2019-02-04 15:15   ` Andrew Jones
2019-02-20 19:14   ` Dave Martin
2019-02-20 19:41     ` Marc Zyngier
2019-02-26 13:53       ` Dave Martin
2019-02-27 12:05         ` Dave Martin
2019-02-26 12:34     ` Christoffer Dall
2019-02-26 14:00       ` Dave Martin
2019-01-25  9:46 ` [PATCH 2/5] arm/arm64: KVM: Allow a VCPU to fully reset itself Christoffer Dall
2019-01-29 16:03   ` Andrew Jones
2019-01-30  9:34     ` Christoffer Dall
2019-01-30 15:27       ` Andrew Jones
2019-01-31  7:43         ` Christoffer Dall
2019-01-31 10:12           ` Andrew Jones
2019-01-31 11:51             ` Christoffer Dall
2019-01-31 12:57               ` Andrew Jones
2019-01-31 14:13                 ` Christoffer Dall
2019-01-31 14:52                 ` Marc Zyngier
2019-01-31 17:06                   ` Andrew Jones
2019-02-01  7:58                     ` Christoffer Dall
2019-02-04 15:08                       ` Andrew Jones
2019-02-04 15:15   ` Andrew Jones
2019-01-25  9:46 ` [PATCH 3/5] KVM: arm/arm64: Require VCPU threads to turn them self off Christoffer Dall
2019-01-29 16:16   ` Andrew Jones
2019-01-30  9:49     ` Christoffer Dall
2019-01-30 15:31       ` Andrew Jones
2019-01-25  9:46 ` [PATCH 4/5] KVM: arm/arm64: Implement PSCI ON_PENDING when turning on VCPUs Christoffer Dall
2019-01-29 16:27   ` Andrew Jones
2019-01-25  9:46 ` [PATCH 5/5] arm/arm64: KVM: Don't panic on failure to properly reset system registers Christoffer Dall
2019-01-29 16:33   ` Andrew Jones
2019-01-30  9:51     ` Christoffer Dall
2019-01-30 10:56     ` Marc Zyngier
2019-01-30 15:36       ` Andrew Jones
2019-01-31 10:15         ` Marc Zyngier

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).