Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-08-09 Thread Avi Kivity
On 08/09/2009 03:41 PM, Gleb Natapov wrote: Introduce new function kvm_notifier_set_irq() that should be used to change irq line level from irq notifiers. When irq notifier change irq line level it calls into irq chip code recursively. The function avoids taking a lock recursively. This

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-08-09 Thread Gleb Natapov
On Sun, Aug 09, 2009 at 05:54:30PM +0300, Avi Kivity wrote: On 08/09/2009 03:41 PM, Gleb Natapov wrote: Introduce new function kvm_notifier_set_irq() that should be used to change irq line level from irq notifiers. When irq notifier change irq line level it calls into irq chip code

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-08-09 Thread Gleb Natapov
On Sun, Aug 09, 2009 at 06:10:07PM +0300, Avi Kivity wrote: On 08/09/2009 05:57 PM, Gleb Natapov wrote: On Sun, Aug 09, 2009 at 05:54:30PM +0300, Avi Kivity wrote: On 08/09/2009 03:41 PM, Gleb Natapov wrote: Introduce new function kvm_notifier_set_irq() that should be used to

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-17 Thread Marcelo Tosatti
On Thu, Jul 16, 2009 at 11:49:35PM +0300, Gleb Natapov wrote: On Thu, Jul 16, 2009 at 03:09:30PM -0300, Marcelo Tosatti wrote: On Thu, Jul 16, 2009 at 10:51:16AM +0300, Gleb Natapov wrote: On Wed, Jul 15, 2009 at 06:38:48PM -0300, Marcelo Tosatti wrote: On Wed, Jul 15, 2009 at 11:48:17PM

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-17 Thread Gleb Natapov
On Fri, Jul 17, 2009 at 12:19:58PM -0300, Marcelo Tosatti wrote: On Thu, Jul 16, 2009 at 11:49:35PM +0300, Gleb Natapov wrote: On Thu, Jul 16, 2009 at 03:09:30PM -0300, Marcelo Tosatti wrote: On Thu, Jul 16, 2009 at 10:51:16AM +0300, Gleb Natapov wrote: On Wed, Jul 15, 2009 at 06:38:48PM

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-17 Thread Marcelo Tosatti
On Fri, Jul 17, 2009 at 08:32:00PM +0300, Gleb Natapov wrote: There are a few issues that kvm_set_irq return code cannot handle, AFAICS (please correct me if i'm wrong, or provide useful points for discussion). case 1) 1. kvm_set_irq, delivered OK (IOW, assume guest has acked the

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-16 Thread Gleb Natapov
On Wed, Jul 15, 2009 at 06:38:48PM -0300, Marcelo Tosatti wrote: On Wed, Jul 15, 2009 at 11:48:17PM +0300, Gleb Natapov wrote: + spin_unlock(ioapic-lock); + kvm_notify_acked_irq(ioapic-kvm, KVM_IRQCHIP_IOAPIC, i); +

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-16 Thread Marcelo Tosatti
On Thu, Jul 16, 2009 at 10:51:16AM +0300, Gleb Natapov wrote: On Wed, Jul 15, 2009 at 06:38:48PM -0300, Marcelo Tosatti wrote: On Wed, Jul 15, 2009 at 11:48:17PM +0300, Gleb Natapov wrote: + spin_unlock(ioapic-lock); + kvm_notify_acked_irq(ioapic-kvm,

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-16 Thread Gleb Natapov
On Thu, Jul 16, 2009 at 03:09:30PM -0300, Marcelo Tosatti wrote: On Thu, Jul 16, 2009 at 10:51:16AM +0300, Gleb Natapov wrote: On Wed, Jul 15, 2009 at 06:38:48PM -0300, Marcelo Tosatti wrote: On Wed, Jul 15, 2009 at 11:48:17PM +0300, Gleb Natapov wrote: +

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-15 Thread Marcelo Tosatti
On Tue, Jul 14, 2009 at 05:30:43PM +0300, Gleb Natapov wrote: Signed-off-by: Gleb Natapov g...@redhat.com --- arch/ia64/kvm/kvm-ia64.c | 27 ++-- arch/x86/kvm/lapic.c |5 +--- arch/x86/kvm/x86.c | 30 ++- virt/kvm/ioapic.c

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-15 Thread Gleb Natapov
On Wed, Jul 15, 2009 at 02:57:59PM -0300, Marcelo Tosatti wrote: On Tue, Jul 14, 2009 at 05:30:43PM +0300, Gleb Natapov wrote: Signed-off-by: Gleb Natapov g...@redhat.com --- arch/ia64/kvm/kvm-ia64.c | 27 ++-- arch/x86/kvm/lapic.c |5 +---

Re: [PATCH 08/10] Move IO APIC to its own lock.

2009-07-15 Thread Marcelo Tosatti
On Wed, Jul 15, 2009 at 11:48:17PM +0300, Gleb Natapov wrote: + spin_unlock(ioapic-lock); + kvm_notify_acked_irq(ioapic-kvm, KVM_IRQCHIP_IOAPIC, i); + spin_lock(ioapic-lock); While traversing the IOAPIC pins you drop the lock and acquire it again, which is