All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9 v2] KVM: Nested SVM fixes and tracepoint conversion
@ 2009-10-08 10:03 Joerg Roedel
  2009-10-08 10:03 ` [PATCH 1/9] KVM: SVM: Notify nested hypervisor of lost event injections Joerg Roedel
                   ` (8 more replies)
  0 siblings, 9 replies; 25+ messages in thread
From: Joerg Roedel @ 2009-10-08 10:03 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: Alexander Graf, kvm, linux-kernel

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



^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/9 v3] KVM: Nested SVM fixes and tracepoint conversion
@ 2009-10-09 14:08 Joerg Roedel
  2009-10-09 14:08 ` [PATCH 1/9] KVM: SVM: Notify nested hypervisor of lost event injections Joerg Roedel
  0 siblings, 1 reply; 25+ messages in thread
From: Joerg Roedel @ 2009-10-09 14:08 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: Alexander Graf, kvm, linux-kernel

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



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2009-10-12  9:35 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-08 10:03 [PATCH 0/9 v2] KVM: Nested SVM fixes and tracepoint conversion Joerg Roedel
2009-10-08 10:03 ` [PATCH 1/9] KVM: SVM: Notify nested hypervisor of lost event injections Joerg Roedel
2009-10-08 16:12   ` Avi Kivity
2009-10-08 16:22     ` Joerg Roedel
2009-10-08 16:25       ` Avi Kivity
2009-10-08 16:32         ` Joerg Roedel
2009-10-08 16:38           ` Avi Kivity
2009-10-08 16:46             ` Alexander Graf
2009-10-12  9:34               ` Avi Kivity
2009-10-08 10:03 ` [PATCH 2/9] KVM: SVM: Move INTR vmexit out of atomic code Joerg Roedel
2009-10-08 10:03 ` [PATCH 3/9] KVM: SVM: Add tracepoint for nested vmrun Joerg Roedel
2009-10-08 15:58   ` Avi Kivity
2009-10-08 16:15     ` Joerg Roedel
2009-10-08 16:20       ` Avi Kivity
2009-10-08 10:03 ` [PATCH 4/9] KVM: SVM: Add tracepoint for nested #vmexit Joerg Roedel
2009-10-08 10:03 ` [PATCH 5/9] KVM: SVM: Add tracepoint for injected #vmexit Joerg Roedel
2009-10-08 10:03 ` [PATCH 6/9] KVM: SVM: Add tracepoint for #vmexit because intr pending Joerg Roedel
2009-10-08 10:03 ` [PATCH 7/9] KVM: SVM: Add tracepoint for invlpga instruction Joerg Roedel
2009-10-08 16:01   ` Avi Kivity
2009-10-08 16:18     ` Joerg Roedel
2009-10-08 16:21       ` Avi Kivity
2009-10-08 16:23         ` Joerg Roedel
2009-10-08 10:03 ` [PATCH 8/9] KVM: SVM: Add tracepoint for skinit instruction Joerg Roedel
2009-10-08 10:03 ` [PATCH 9/9] KVM: SVM: Remove nsvm_printk debugging code Joerg Roedel
  -- strict thread matches above, loose matches on Subject: below --
2009-10-09 14:08 [PATCH 0/9 v3] KVM: Nested SVM fixes and tracepoint conversion Joerg Roedel
2009-10-09 14:08 ` [PATCH 1/9] KVM: SVM: Notify nested hypervisor of lost event injections Joerg Roedel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.