Re: [KVM PATCH v4 2/2] kvm: add support for irqfd via eventfd-notification interface

Avi Kivity
2009-05-07T18:12:53Z

Davide Libenzi wrote:
> On Thu, 7 May 2009, Avi Kivity wrote:
>
>
>> Davide Libenzi wrote:
>>
>>>
>>>
>>>> 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?
>>>>
>>>>
>>> Maybe I got lost in the thread, but inside the kernel we have callback-based
>>> wakeup since long time. This is what epoll uses, when hooking into the file*
>>> f_op->poll() subsystem.
>>> Did you mean something else?
>>>
>>>
>> Do you mean wait_queue_t::func?
>>
>
> Yes, it is since long time ago that a wakeup in Linux can lead either to a
> real wakeup (in scheduler terms), or to a simple function call.
> Isn't that enough?
>
>

It's perfect.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.