Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3

Davide Libenzi
2007-03-02T19:13:31Z

On Fri, 2 Mar 2007, Davide Libenzi wrote:

> And if you really feel raw about the single O(nready) loop that epoll
> currently does, a new epoll_wait2 (or whatever) API could be used to
> deliver the event directly into a userspace buffer [1], directly from the
> poll callback, w/out extra delivery loops (IRQ/event->epoll_callback->event_buffer).

And if you ever wonder from where the "epoll" name came, it came from the
old /dev/epoll. The epoll predecessor /dev/epoll, was adding plugs
everywhere events where needed and was delivering those events in O(1)
*directly* on a user visible (mmap'd) buffer, in a zero-copy fashion.
The old /dev/epoll was faster the the current epoll, but the latter was
chosen because despite being sloghtly slower, it had support for every
pollable device, *without* adding more plugs into the existing code.
Performance and code maintainance are not to be taken disjointly whenever
you evaluate a solution. That's the reason I got excited about this new
generic AIO slution.

- Davide