Date: Sun, 04 Jul 1999 13:37:13 -0700 From: Mike Smith <mike@smith.net.au> To: Jonathan Lemon <jlemon@americantv.com> Cc: hackers@freebsd.org, zach@zabbo.net Subject: Re: poll() scalability Message-ID: <199907042037.NAA07661@dingo.cdrom.com> In-Reply-To: Your message of "Sun, 04 Jul 1999 00:00:42 CDT." <19990704000042.59954@right.PCS>
next in thread | previous in thread | raw e-mail | index | archive | help
> I'd like to open discussion on adding a new interface to FreeBSD, > specifically, a variant of poll(). > > The problem is that poll() (and select(), as well) do not scale > well as the number of open file descriptors increases. When there > are a large number of descriptors under consideration, poll() takes > an inordinate amount of time. For the purposes of my particular > application, "large" translates into roughly 40K descriptors. > > As having to walk this descriptor list (and pass it between user and > kernel space) is unpalatable, I would like to have the interface > simply take a "change" list instead. The kernel would keep the > state of the descriptors being examined, and would in turn, return > a short list of descriptors that actually had any activity. Zach Brown (copied) had some interesting ideas about this sort of thing that he was very happy to espose while we were wandering around ZD a few weeks back. I'm rather enamoured of anything that effectively works like a callback mechanism (eg. signal delivery on an alternate stack) as it scales far better to a threaded application. -- \\ The mind's the standard \\ Mike Smith \\ of the man. \\ msmith@freebsd.org \\ -- Joseph Merrick \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907042037.NAA07661>