United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7169050 (se) Selector.select slow on Solaris due to insertion of POLLREMOVE and 0 events
JDK-7169050 : (se) Selector.select slow on Solaris due to insertion of POLLREMOVE and 0 events

Details
Type:
Bug
Submit Date:
2012-05-15
Status:
Closed
Updated Date:
2013-04-03
Project Name:
JDK
Resolved Date:
2012-06-12
Component:
core-libs
OS:
solaris_nevada
Sub-Component:
java.nio
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u23
Fixed Versions:

Related Reports
Backport:
Relates:
Relates:

Sub Tasks

Description
Pls see comments

                                    

Comments
EVALUATION

We need to change the /dev/poll Selector so that:

1. writes the POLLREMOVE the deregister the fd prior to the final close.

2. change the batch update so that it doesn't insert a POLLREMOVE prior to each update. This can be done by either eliminating batching or by ensuring that the update contains at most one update for a file descriptor.

3. When the interest ops are changed to 0 then we should remove the file descriptor from /dev/poll.

We have a prototyped a patch with these changes and this is currently being tested. Results so far are positive. A residual issue that is not addressed in the patches are that a POLLREMOVE will still be written before the final close even if the interest ops are 0 (and thus already deregistrated). This is not an issue with the current /dev/poll driver but would require fixing if the /dev/poll is changed.
                                     
2012-05-17



Hardware and Software, Engineered to Work Together