Re: [RFC,PATCH] use rcu for fasync_lock

Davide Libenzi
2004-01-04T19:20:34Z

On Sun, 4 Jan 2004, Ingo Oeser wrote:

> > The impression I had was that the code is quite complicated and
> > invasive, and select/poll aren't considered worth optimising because
> > epoll is an overall better solution (which is true; optimising
> > select/poll would change the complexity of the slow part but not
> > reduce the complexity of the API part, while epoll does both).
>
> This is true. But old software continues to exist and for INN there is
> pretty much nothing else in this category available, I've been told by
> several admins. Nobody really likes it, but it is used and improved
> where necessary (epoll might be on the list already).

The problem with poll/select is not the Linux implementation. It is the
API that is flawed when applied to large fd sets. Every call pass to the
system the whole fd set, and this makes the API O(N) by definition. While
poll/select are perfectly ok for small fd sets, epoll LT might enable the
application to migrate from poll/select to epoll pretty quickly (if the
application architecture is fairly sane). For example, it took about 15
minutes to me to make an epoll'd thttpd.

- Davide