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

Kyle Moffett
2007-03-04T17:48:30Z

On Mar 04, 2007, at 11:23:37, Kirk Kuchov wrote:
> So here we are, 2007. epoll() works with files, pipes, sockets,
> inotify and anything pollable (file descriptors) but aio, timers,
> signals and user-defined event. Can we please get those working
> with epoll ? Something as simple as:
>
> [code snipped]
>
> Would this be acceptable? Can we finally move on?

Well, even this far into 2.6, Linus' patch from 2003 still (mostly)
applies; the maintenance cost for this kind of code is virtually
zilch. If it matters that much to you clean it up and make it apply;
add an alarmfd() syscall (another 100 lines of code at most?) and
make a "read" return an architecture-independent siginfo-like
structure and submit it for inclusion. Adding epoll() support for
random objects is as simple as a 75-line object-filesystem and a 25-
line syscall to return an FD to a new inode. Have fun! Go wild!
Something this trivially simple could probably spend a week in -mm
and go to linus for 2.6.22.

Cheers,
Kyle Moffett