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

From: Joerg Roedel
Date: Fri Oct 09 2009 - 10:10:57 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 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


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