-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce scheduler pollset for nif select #9275
base: maint
Are you sure you want to change the base?
Introduce scheduler pollset for nif select #9275
Conversation
9cc5222
to
c440365
Compare
CT Test Results 3 files 143 suites 48m 58s ⏱️ Results for commit 157d350. ♻️ This comment has been updated with latest results. To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass. See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally. Artifacts// Erlang/OTP Github Action Bot |
Would the main impact on this inside OTP be related to the file API and socket NIFs? Are there any other parts that would use the separate pollset? |
The primary user is the socket nifs, but also the shell uses it :) File does not use select (as far as I know), so will not be effected. |
89fc8b6
to
0a3cb7f
Compare
0a3cb7f
to
7dfda88
Compare
When FD polling on unix was migrated to a separate thread in OTP-21, polling on FDs that exhibit an "active true" behaviour for drivers were placed in a separate scheduler pollset in order to reduce the number of modifications of the pollset and thus reduce CPU cost. This PR introduces the same mechanism for FDs selected on by nifs.