[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0904231500570.18603@makko.or.mcafeemobile.com>
Date: Thu, 23 Apr 2009 15:03:47 -0700 (PDT)
From: Davide Libenzi <davidel@...ilserver.org>
To: Gregory Haskins <ghaskins@...ell.com>
cc: kvm@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
avi@...hat.com
Subject: Re: [KVM PATCH 2/3] eventfd: add a notifier mechanism
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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists