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

Evgeniy Polyakov
2007-03-03T10:31:16Z

On Fri, Mar 02, 2007 at 09:28:10AM -0800, Davide Libenzi (davidel@xmailserver.org) wrote:
> On Fri, 2 Mar 2007, Evgeniy Polyakov wrote:
>
> > do we really want to have per process signalfs, timerfs and so on - each
> > simple structure must be bound to a file, which becomes too cost.
>
> I may be old school, but if you ask me, and if you *really* want those
> events, yes. Reason? Unix's everything-is-a-file rule, and being able to
> use them with *existing* POSIX poll/select. Remember, not every app
> requires huge scalability efforts, so working with simpler and familiar
> APIs is always welcome.
> The *only* thing that was not practical to have as fd, was block requests.
> But maybe threadlets/syslets will handle those just fine, and close the gap.

That means that we bind very small object like timer or signal to the
whoe file structure - yes, as I stated - it is doable, but do we really
have to create a file each time create_timer() or signal() is called?
Signals as a filesystem are limited in that regard that we need to
create additional structures to have signal number<->private data
relations.
I designed kevent to be as small as possible, so I removed file binding
idea first. I do not say it is wrong or epoll (and threadlets) are broken
(fsck, I hope people do understand that), but as is it can not handle
that scenario, so it must be extended and/or a lot of other stuff
written to be compatible with epoll design. Kevent has different design
(which allows to work with old one though - there is a patch to
implement epoll over kevent).

> - Davide
>

--
Evgeniy Polyakov