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

From: Joerg Roedel
Date: Wed Oct 07 2009 - 10:34:23 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/10) 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 patches 2/10 and 3/10 fixing 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 to 3) should also be considered for -stable
backporting.

The patches 3 to 9 convert the old printk based debugging for Nested
SVM to tracepoints. Patch 10 removes the nsvm_printk code. Please review
and/or consider to apply these changes.

Thanks,

Joerg

diffstat:

arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/svm.c | 98 +++++++++++++++---------
arch/x86/kvm/trace.h | 165 +++++++++++++++++++++++++++++++++++++++
arch/x86/kvm/x86.c | 23 ++++++
include/linux/kvm_host.h | 1 +
5 files changed, 252 insertions(+), 36 deletions(-)

shortlog:

Alexander Graf (1):
KVM: SVM: Notify nested hypervisor of lost event injections

Joerg Roedel (9):
KVM: X86: Add KVM_REQ_VMEXIT to trigger a nested #vmexit
KVM: SVM: Move nested INTR #vmexit into preemtible 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/