7173515: (se) Selector.open fails with OOME on Solaris when unlimited file descriptors
Sean Coffey
sean.coffey at oracle.com
Sat Jun 2 05:23:00 PDT 2012
Looks good Alan - I might create a local test binary and run some tests
also.
In the release method - line 206, can you explain why you're setting a
bit there ?
206 registered.set(fd);
would it not be a clear ?
regards,
Sean.
On 01/06/2012 16:32, Alan Bateman wrote:
>
> This is an update to the changes to the /dev/poll Selector from a few
> weeks ago [1].
>
> The changes in 7169050 fixed a long standing performance issue that
> stemmed from the insertion of a POLLREMOVE prior to each update.
> Unfortunately the changes introduced an issue on systems configured
> with an unlimited number of file descriptors. The issue that the
> update events are indexed by file descriptor. To fix this I've changed
> it so that it updates to file descriptors >64k spill into into a Map.
> One other improvement is the addition of a bit set to track which file
> descriptors are registered as this ensures that the updates to the
> registrations are accurate. The final improvement is to use the same
> poll array for both dpwrite and ioctl(DP_POLL). The webrev is here:
>
> http://cr.openjdk.java.net/~alanb/7173515/webrev/
>
> BTW: I hope to post a webrev soon with a completely new Selector
> implementation for Solaris. The new Selector will use the Solaris
> event ports facilities than the /dev/poll driver.
>
> -Alan
>
> [1] http://hg.openjdk.java.net/jdk8/tl/jdk/rev/21703d431217
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20120602/07e6e4ea/attachment.html
More information about the nio-dev
mailing list