Skip to content

KVM paravirt_ops backend (v3)

Anthony Liguori kvm virtualization 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 4 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+283 -800 replies
2/5KVM: paravirt time sourcearch/i386/kernel/kvm.c drivers/kvm/kvm_main.c include/linux/kvm_para.h+78 -10 replies
3/5KVM: Implement CR read caching for KVM paravirt_opsarch/i386/kernel/kvm.c drivers/kvm/kvm_main.c include/linux/kvm_para.h+111 -10 replies
4/5KVM: Add paravirt MMU write supportarch/i386/kernel/kvm.c drivers/kvm/kvm.h drivers/kvm/kvm_main.c +2 more+158 -20 replies
5/5KVM: Add hypercall queue for paravirt_ops implementationarch/i386/kernel/kvm.c drivers/kvm/kvm.h drivers/kvm/kvm_main.c +1 more+196 -210 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 backend (v3)

Hi,

This is an update to the paravirt_ops KVM backend series. I've made a number of changes and attempted to incorporate all the feedback from the last review. Some highlights:

1) Clean up the paravirt time source patch to use a more Xen-like model
2) Change the hypercall queueing to pass a PA on the flush hypercall
3) Add MMU support for release_{pt,pd} and TLB flush
4) Use KVM specific errno values
5) Switch from per_cpu to more appropriate functions

As for performance, I've got a few interesting results. kbuild with a guest using 2G of memory goes from 19 minutes to 12 minutes with the full series applied. Using 512mb, the build time goes from 10.75 minutes to 9 minutes. For 512mb, native is around 7 minutes so that's pretty close to what Avi had seen. The more dramatic improvement with large memory guests is probably because of the increased shadow page table activity due to high mem.

virtbench shows major improvements but I'm not 100% confident yet in the results as they are not very stable. I don't yet have a benchmark that shows the benefit of the CR caching so if I don't find one, I'll drop that from the queue.

As usual, the latest bits 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/