Skip to content

KVM paravirt_ops implementation

Anthony Liguori kvm virtualization 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 79 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5KVM paravirt_ops core infrastructurearch/i386/Kconfig arch/i386/kernel/Makefile arch/i386/kernel/kvm.c +2 more+276 -807 replies
2/5KVM: Implement CR read caching for KVM paravirt_opsarch/i386/kernel/kvm.c drivers/kvm/kvm_main.c include/linux/kvm_para.h+104 -14 replies
3/5KVM: Add paravirt MMU write supportarch/i386/kernel/kvm.c drivers/kvm/kvm_main.c include/linux/kvm_para.h+108 -17 replies
4/5KVM: Add hypercall queue for paravirt_ops implementationarch/i386/kernel/kvm.c drivers/kvm/kvm.h drivers/kvm/kvm_main.c +1 more+163 -1117 replies
5/5KVM: paravirt time sourcearch/i386/kernel/kvm.c drivers/kvm/kvm_main.c include/linux/kvm_para.h+63 -113 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/5] KVM paravirt_ops implementation

Hi,

This patch series is an update of my previous paravirt_ops patches. They are loosely based on Ingo's original paravirt_ops implementation for KVM. Some of the changes since the last series include:

1) Switch to using CPUID 0x40000000 instead of using MSR writes to discover shared memory area
2) Attempt to deal with SMP guests
3) Support for generic CR read caching
4) Support for batching of MMU operations

Some known issues:

1) Not really sure what is needed for CONFIG_PREEMPT support. I'm not sure which paravirt_ops calls are actually re-entrant.
2) The paravirt_ops implementation is registered with core_initcall(). However, the paravirt_ops banner is also printed with core_initcall() so that fact that this works now is just the luck of build order. Need a better way to initialize the KVM paravirt_ops backend.
3) These patches probably break guest save/restore. Need a generic way to get additional save/restore callbacks in the kernel (perhaps the in-kernel APIC series addresses this already?).

The latest versions of these patches are available at:

http://hg.codemonkey.ws/kvm-paravirt

Regards,

Anthony Liguori

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/