All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory Haskins <ghaskins@novell.com>
To: Davide Libenzi <davidel@xmailserver.org>
Cc: kvm@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	avi@redhat.com
Subject: Re: [KVM PATCH 2/3] eventfd: add a notifier mechanism
Date: Fri, 24 Apr 2009 12:29:35 -0400	[thread overview]
Message-ID: <49F1E8EF.6030601@novell.com> (raw)
In-Reply-To: <alpine.DEB.1.10.0904240911280.13272@makko.or.mcafeemobile.com>

[-- Attachment #1: Type: text/plain, Size: 1709 bytes --]

Davide Libenzi wrote:
> On Fri, 24 Apr 2009, Gregory Haskins wrote:
>
>   
>> Davide Libenzi wrote:
>>     
>>> On Thu, 23 Apr 2009, Gregory Haskins wrote:
>>>
>>>   
>>>       
>>>>> 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.
>>>>>   
>>>>>       
>>>>>           
>>>> Yeah, I was looking at that this afternoon after you mentioned it.  That
>>>> makes sense.
>>>>
>>>> As of right now the wqh is embedded in the eventfd, accessible only by
>>>> the .read() vtable entry.  In order to do this as you suggest, I imagine
>>>> I need to slightly modify the eventfd interface to allow waiters other
>>>> than the embedded readers to join the wait-queue.  How would you like to
>>>> see that interface look?
>>>>     
>>>>         
>>> Actually, you need no changes in eventfd, since you can use its poll() 
>>> directly, by dropping a callback entry.
>>> Take a look at how epoll does it in ep_insert()...
>>>   
>>>       
>> Ah!  I just tried your suggestion and it was simple and it works.  That
>> is brilliant.
>>
>> I will post a follow-up v2 that drops patch 2/3.  Thanks, Davide.
>>     
>
> I assume you're in control of the file/fd lifetime, so that the file* 
> cannot vanish while you've your wait_queue dropped inside its 
> wait_queue_head, isn't it?
>   
I've addressed this issue by holding the file via eventfd_fget(), but
your review to make sure I got it right would be appreciated.

-Greg



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 266 bytes --]

  reply	other threads:[~2009-04-24 16:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-23 15:14 [KVM PATCH 0/3] irqfd Gregory Haskins
2009-04-23 15:14 ` [KVM PATCH 1/3] eventfd: export fget and signal interfaces for module use Gregory Haskins
2009-04-23 15:14 ` [KVM PATCH 2/3] eventfd: add a notifier mechanism Gregory Haskins
2009-04-23 16:23   ` Davide Libenzi
2009-04-23 16:46     ` Gregory Haskins
2009-04-23 22:03       ` Davide Libenzi
2009-04-23 22:12         ` Gregory Haskins
2009-04-24  2:43           ` Davide Libenzi
2009-04-24  4:11             ` Gregory Haskins
2009-04-24 16:13               ` Davide Libenzi
2009-04-24 16:29                 ` Gregory Haskins [this message]
2009-04-23 15:14 ` [KVM PATCH 3/3] kvm: add support for irqfd via eventfd-notification interface Gregory Haskins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49F1E8EF.6030601@novell.com \
    --to=ghaskins@novell.com \
    --cc=avi@redhat.com \
    --cc=davidel@xmailserver.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.