[PATCH 0/9 v2] KVM: Nested SVM fixes and tracepoint conversion

From: Joerg Roedel
Date: Thu Oct 08 2009 - 06:05:06 EST


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 migth 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 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/