Messages in this thread | | | From | Joerg Roedel <> | Subject | [PATCH 0/9 v3] KVM: Nested SVM fixes and tracepoint conversion | Date | Fri, 9 Oct 2009 16:08:24 +0200 |
| |
Hi Avi, Marcelo,
this series of patches contains bugfixes for the Nested SVM code and the conversion of Nested SVM debugging to tracepoints. The fixes are:
1) A patch Alex already sent (1/9) but which was not yet applied. It fixes a lost event_inj problem when we emulate a vmrun and a vmexit without entering the guest in the meantime.
2) The patch 2/9 fixes a schedule() while atomic bug in the Nested SVM code. The KVM interrupt injection code runs with preemtion and interrupts disabled. But the enable_irq_window() function from SVM may emulate a #vmexit. This emulation might sleep which causes the schedule() while atomic() bug.
These fixes (patches 1 and 2) should also be considered for -stable backporting. The patches 3 to 8 convert the old printk based debugging for Nested SVM to tracepoints. Patch 9 removes the nsvm_printk code. Please review and/or consider to apply these changes.
Thanks,
Joerg
Changes to v2:
* Fixed typo in trace_printk message for invlpga * Converted "key=value" strings into "key: value"
Changes to v1:
* Fixed typo on comment in patch "KVM: SVM: Notify nested hypervisor of lost event injections" * Made the fix for the schedule()-while-atomic bug out of the generic code. It touches only SVM code now.
Diffstat:
arch/x86/kvm/svm.c | 107 +++++++++++++++++++++----------- arch/x86/kvm/trace.h | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++ arch/x86/kvm/x86.c | 6 ++ 3 files changed, 242 insertions(+), 36 deletions(-)
Shortlog:
Alexander Graf (1): KVM: SVM: Notify nested hypervisor of lost event injections
Joerg Roedel (8): KVM: SVM: Move INTR vmexit out of atomic code KVM: SVM: Add tracepoint for nested vmrun KVM: SVM: Add tracepoint for nested #vmexit KVM: SVM: Add tracepoint for injected #vmexit KVM: SVM: Add tracepoint for #vmexit because intr pending KVM: SVM: Add tracepoint for invlpga instruction KVM: SVM: Add tracepoint for skinit instruction KVM: SVM: Remove nsvm_printk debugging code
| |