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.
|