On Thu, 7 May 2009, Avi Kivity wrote:
Davide Libenzi wrote:
Do you mean wait_queue_t::func?What's your take on adding irq context safe callbacks to irqfd?Maybe I got lost in the thread, but inside the kernel we have callback-based
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?
wakeup since long time. This is what epoll uses, when hooking into the file*
f_op->poll() subsystem.
Did you mean something else?
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?