Re: [KVM PATCH v4 2/2] kvm: add support for irqfd via eventfd-notificationinterface
From: Avi Kivity
Date: Thu May 07 2009 - 05:48:39 EST
Davide Libenzi wrote:
On Wed, 6 May 2009, Gregory Haskins wrote:
I think we are ok in this regard (at least in v5) without the callback.
kvm holds irqfd, which holds eventfd. In a normal situation, we will
have eventfd with 2 references. If userspace closes the eventfd, it
will drop 1 of the 2 eventfd file references, but the object should
remain intact as long as kvm still holds it as well. When the kvm-fd is
released, we will then decouple from the eventfd->wqh and drop the last
fput(), officially freeing it.
Likewise, if kvm is closed before the eventfd, we will simply decouple
from the wqh and fput(eventfd), leaving the last reference held by
userspace until it closes as well.
Let me know if you see any holes in that.
Looks OK, modulo my knowledge of KVM internals.
What's your take on adding irq context safe callbacks to irqfd?
To give some background here, we would like to use eventfd as a generic
connector between components, so the components do not know about each
other. So far eventfd successfully abstracts among components in the
same process, in different processes, and in the kernel.
eventfd_signal() can be safely called from irq context, and will wake up
a waiting task. But in some cases, if the consumer is in the kernel, it
may be able to consume the event from irq context, saving a context switch.
So, will you consider patches adding this capability to eventfd?
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/