v7: Just a minor change from v6 to fix locking. In v6 we called f_op->poll under eoifds.lock to install the eventfd waitqueue function. This creates a eoifds.lock --> ctx->wqh lock ordering. When our wakeup function gets called it's under ctx->wqh and acquires eoifds.lock. Badness. To fix this we can move the poll call to before the lock because we only do anything on POLLHUP which won't occur as long as we have a reference to the file. Thanks, Alex --- Alex Williamson (2): kvm: KVM_EOIFD, an eventfd for EOIs kvm: Extend irqfd to support level interrupts Documentation/virtual/kvm/api.txt | 32 ++- arch/x86/kvm/x86.c | 3 include/linux/kvm.h | 18 + include/linux/kvm_host.h | 17 + virt/kvm/eventfd.c | 464 ++++++++++++++++++++++++++++++++++++- virt/kvm/kvm_main.c | 11 + 6 files changed, 537 insertions(+), 8 deletions(-) -- 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