Skip to content

QEMU kvm: Adding paravirtual spinlock support for x86.

Raghavendra K T kvm qemu-devel 1 version In review

Get series with b4
b4 am 20120323082242.17193.16289.sendpatchset@codeblue

Versions newest first

  1. v1 Latest2 patches 3 repliesIn review

Changes in V3 from the cover letter

 rename PVLOCK_KICK --> PV_UNHALT

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2QEMU kvm: Add PV_UNHALT feature supporttarget-i386/kvm.c+1 -00 replies
2/2QEMU kvm: Add support to get/set vcpu unhalt msr to aid migrationtarget-i386/cpu.h target-i386/kvm.c+13 -13 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/2] QEMU kvm: Adding paravirtual spinlock support for x86.

The patch, extends KVM-hypervisor and Linux guest running on KVM-hypervisor to support pv-ticket spinlocks.

PV ticket spinlock helps to solve Lock Holder Preemption problem discussed in
http://www.amd64.org/fileadmin/user_upload/pub/LHP-commented_slides.pdf.

When spinlock is contended,a guest vcpu relinqueshes cpu by halt(). Correspondingly, One hypercall is introduced in KVM hypervisor,that allows a vcpu to kick the halted vcpu to continue with execution.

Note:
Below patch should be applied only after corresponding
linux-header changes taken into qemu via scripts/update-linux-headers.sh script.
---
Changes in V3:

 rename PVLOCK_KICK --> PV_UNHALT

add MSR related changes to aid migration

Changes in V2:
Drop the syncing kernel header changes. (Alex)

 rename KICK_VCPU --> PVLOCK_KICK.

Raghavendra K T(2):
add PV_UNHALT feature support.
add support to get/set vcpu unhalt msr to aid migration

 target-i386/cpu.h |    1 +
 target-i386/kvm.c |   14 +++++++++++++-
 2 files changed, 14 insertions(+), 1 deletions(-)

V5 Kernel changes:
https://lkml.org/lkml/2012/3/23/50

V4 kernel changes:
https://lkml.org/lkml/2012/1/14/66
Qemu changes for V4:
http://www.mail-archive.com/[email protected]/msg66450.html

V3 kernel Changes:
https://lkml.org/lkml/2011/11/30/62
V2 kernel changes :
https://lkml.org/lkml/2011/10/23/207

Previous discussions : (posted by Srivatsa V).
https://lkml.org/lkml/2010/7/26/24
https://lkml.org/lkml/2011/1/19/212

Qemu patch for V3:
http://lists.gnu.org/archive/html/qemu-devel/2011-12/msg00397.html