On Wed, Aug 19, 2009 at 03:20:21PM +0300, Avi Kivity wrote: > On 07/26/2009 07:22 PM, Michael S. Tsirkin wrote: >> Here's an untested patch with partial support for level triggered >> interrupts in irqfd. What this patch has: support for clearing interrupt >> on ack. What this patch does not have: support signalling eventfd on ack >> so that userspace can take action and e.g. reenable interrupt. >> >> Gleb, Marcelo, I'd like your input on the approach taken wrt locking. >> Does it look sane? >> >> Avi, how's the interface? I intend to also add an eventfd probably in >> the padding in the irqfd struct. >> > > What about the state-capable eventfd? This patch precedes that effort. > Seems much more natural for this. Good. Could you please review and ack the state-capable eventfd patch then, so I can try pushing it upstream? >> >> static struct workqueue_struct *irqfd_cleanup_wq; >> @@ -63,10 +65,15 @@ irqfd_inject(struct work_struct *work) >> >> mutex_lock(&kvm->irq_lock); >> kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1); >> - kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0); >> + if (!irqfd->is_level) >> + kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0); >> > > e.g. inject the eventfd->state as the irq level. > > -- > error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html