linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM/arm64: KVM: Yield CPU when vcpu executes a WFE
@ 2013-10-07 15:40 Marc Zyngier
  2013-10-07 15:40 ` [PATCH 1/2] ARM: " Marc Zyngier
  2013-10-07 15:40 ` [PATCH 2/2] arm64: " Marc Zyngier
  0 siblings, 2 replies; 25+ messages in thread
From: Marc Zyngier @ 2013-10-07 15:40 UTC (permalink / raw)
  To: linux-arm-kernel

This is a respin of a patch I posted a long while ago, this time with
numbers that I hope to be convincing enough.

The basic idea is that spinning on WFE in a guest is a waste of
resource, and that we're better of running another vcpu instead. This
specially shows when the system is oversubscribed. The guest vcpus can
be seen spinning, waiting for a lock to be released while the lock
holder is nowhere near a physical CPU.

This patch series just enables WFE trapping on both ARM and arm64, and
calls kvm_vcpu_on_spin(). This is enough to boost other vcpus, and
dramatically reduce the overhead.

Branch available at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git kvm-arm64/wfe-trap

Marc Zyngier (2):
  ARM: KVM: Yield CPU when vcpu executes a WFE
  arm64: KVM: Yield CPU when vcpu executes a WFE

 arch/arm/include/asm/kvm_arm.h   |  4 +++-
 arch/arm/kvm/handle_exit.c       |  6 +++++-
 arch/arm64/include/asm/kvm_arm.h |  8 ++++++--
 arch/arm64/kvm/handle_exit.c     | 18 +++++++++++++-----
 4 files changed, 27 insertions(+), 9 deletions(-)

-- 
1.8.2.3

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

end of thread, other threads:[~2013-10-09 15:17 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-07 15:40 [PATCH 0/2] ARM/arm64: KVM: Yield CPU when vcpu executes a WFE Marc Zyngier
2013-10-07 15:40 ` [PATCH 1/2] ARM: " Marc Zyngier
2013-10-07 16:04   ` Alexander Graf
2013-10-07 16:16     ` Marc Zyngier
2013-10-07 16:30       ` Alexander Graf
2013-10-07 16:53         ` Gleb Natapov
2013-10-09 13:09           ` Alexander Graf
2013-10-09 13:26             ` Gleb Natapov
2013-10-09 14:18               ` Marc Zyngier
2013-10-09 14:50                 ` Anup Patel
2013-10-09 14:52                   ` Anup Patel
2013-10-09 14:59                   ` Marc Zyngier
2013-10-09 15:10                     ` Anup Patel
2013-10-09 15:17                       ` Marc Zyngier
2013-10-09 15:17                       ` Anup Patel
2013-10-07 16:55         ` Marc Zyngier
2013-10-08 11:26   ` Raghavendra KT
2013-10-08 12:43     ` Marc Zyngier
2013-10-08 15:02       ` Raghavendra K T
2013-10-08 15:06         ` Marc Zyngier
2013-10-08 15:13           ` Raghavendra K T
2013-10-08 16:09             ` Marc Zyngier
2013-10-07 15:40 ` [PATCH 2/2] arm64: " Marc Zyngier
2013-10-07 15:52   ` Bhushan Bharat-R65777
2013-10-07 16:00     ` 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).