On Thu, 23 Apr 2009, Gregory Haskins wrote: > Davide Libenzi wrote: > > On Thu, 23 Apr 2009, Gregory Haskins wrote: > > > > > >> This allows synchronous notifications to register with the eventfd > >> infrastructure. Unlike traditional vfs based eventfd readers, notifiees > >> do not implictly clear the counter on reception. However, the clearing > >> is primarily important to allowing threads to block waiting for events > >> anyway, so its an acceptable trade-off since blocking doesn't apply to > >> notifiers. > >> > > > > Do you really need to add a notifier? Eventfd already has a wait queue, > > and we support callback-based wakeups, so is there any reason we shouldn't > > use those and rely on the already existing wakeups? > > > Well, IIUC the issue is that a wait queue implies that you are in fact > waiting...which we may not. :) > > The target in this particular application with kvm-irqfd is a vcpu > context, which *may* be sleeping in something like a HLT, but it also > could be in a number of other states such as non-root (guest) mode, it > could be running in the kernel, it could be up in userspace, etc. > > That said: I am not married to the concept that this has to be a > notifier callback, but I do want to be able to meet the target > application. So if there is some way to do that within the existing > wait-queue contstruct, I am open to suggestions. Take a look at init_waitqueue_func_entry(), in particula at that "func" parameter. Then look at how __wake_up_common() does its thing. You don't need to be "waiting" for our wakeup system to work. Callbacks works just fine, otherwise things like epoll could not work at all. - Davide -- 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