Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-22 Thread Avi Kivity
On 10/21/2009 05:42 PM, Gregory Haskins wrote: I believe Avi, Michael, et. al. were in agreement with me on that design choice. I believe the reason is that there is no good way to do EOI/ACK feedback within the constraints of an eventfd pipe which would be required for the legacy pin-type

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-22 Thread Gregory Haskins
Avi Kivity wrote: On 10/21/2009 05:42 PM, Gregory Haskins wrote: I believe Avi, Michael, et. al. were in agreement with me on that design choice. I believe the reason is that there is no good way to do EOI/ACK feedback within the constraints of an eventfd pipe which would be required for the

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-22 Thread Avi Kivity
On 10/22/2009 05:14 PM, Gregory Haskins wrote: Yeah, I was thinking about that after I initially responded to Gleb. I am thinking something along these lines: Provide a function that lets you query a GSI for whether it supports LOCKLESS or not. Then we can either do one of two things: 1)

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-22 Thread Gregory Haskins
Avi Kivity wrote: On 10/22/2009 05:14 PM, Gregory Haskins wrote: Yeah, I was thinking about that after I initially responded to Gleb. I am thinking something along these lines: Provide a function that lets you query a GSI for whether it supports LOCKLESS or not. Then we can either do one

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-21 Thread Gleb Natapov
On Wed, Oct 21, 2009 at 10:34:53AM -0400, Gregory Haskins wrote: IRQFD currently uses a deferred workqueue item to execute the injection operation. It was originally designed this way because kvm_set_irq() required the caller to hold the irq_lock mutex, and the eventfd callback is invoked

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-21 Thread Gregory Haskins
Gleb Natapov wrote: On Wed, Oct 21, 2009 at 10:34:53AM -0400, Gregory Haskins wrote: IRQFD currently uses a deferred workqueue item to execute the injection operation. It was originally designed this way because kvm_set_irq() required the caller to hold the irq_lock mutex, and the eventfd

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-21 Thread Gleb Natapov
On Wed, Oct 21, 2009 at 11:34:51AM -0400, Gregory Haskins wrote: Gleb Natapov wrote: On Wed, Oct 21, 2009 at 10:34:53AM -0400, Gregory Haskins wrote: IRQFD currently uses a deferred workqueue item to execute the injection operation. It was originally designed this way because kvm_set_irq()

Re: [KVM PATCH 1/2] KVM: Directly inject interrupts via irqfd

2009-10-21 Thread Gregory Haskins
Gleb Natapov wrote: On Wed, Oct 21, 2009 at 11:34:51AM -0400, Gregory Haskins wrote: Gleb Natapov wrote: On Wed, Oct 21, 2009 at 10:34:53AM -0400, Gregory Haskins wrote: IRQFD currently uses a deferred workqueue item to execute the injection operation. It was originally designed this way