epoll and kqueue support

Cuong Nguyen <[email protected]> Mon, 30 May 2005 13:51:18 +1000 (EST)
Newsgroups gmane.comp.lib.state-threads.user
Message-ID <[email protected]>
Hi Group,

Has there been any work on supporting additional polling mechanisms such =
as epoll (for linux) and
kqueue (for *bsd) ? These mechanisms are meant to be more efficient than =
poll/select so I'm
interested to see if that is the case.

On a related note, maybe someone here can answer this question:
Passing large array of fd descriptors (~3000) to select() has been known =
to suffer from the
"thundering herd" problem of both kernel having to scan the array and the=
 calling code having to
scan the array on return from the kernel.
Now my question is: can this be mitigated simply by using more forks (mor=
e virtual process, in
state threads speak). ie. If initially there was one process doing select=
() on 3000 fds, would a
100 process doing select() on 30 fds each perform better? Obviously there=
 would be additional cost
for the kernel to handle scheduling for an additional 99 processes, but w=
hich is the lesser evil?

I wish I could test this theory for myself, but we can't touch the produc=
tion server while it is
running.


Cheers for any insights.
Cuong.

Find local movie times and trailers on Yahoo! Movies.
http://au.movies.yahoo.com


-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=3Doffad-ysdn-ostg-q22=
005