Skip site navigation (1)Skip section navigation (2)
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>