-
Notifications
You must be signed in to change notification settings - Fork 8
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
WIP: refactored event handling #290
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #290 +/- ##
===========================================
- Coverage 57.67% 37.10% -20.57%
===========================================
Files 70 71 +1
Lines 10149 10484 +335
Branches 1335 1341 +6
===========================================
- Hits 5853 3890 -1963
- Misses 3462 5955 +2493
+ Partials 834 639 -195 ☔ View full report in Codecov by Sentry. |
- this is a performance optimization; it should greatly reduce calls to cond_signal without any change in functionality
- something isn't quite working right in some unit tests
src/margo-prio-pool.c
Outdated
*/ | ||
ABT_pool_config_get(config, MARGO_PRIO_POOL_CONFIG_KEY_EFD, NULL, | ||
&p_pool->efd); | ||
// fprintf(stderr, "DBG: prio_pool got efd %d\n", p_pool->efd); |
Check notice
Code scanning / CodeQL
Commented-out code
- for now same as old loop, but with features stripped out - temporarily disabled all tests that rely on timers
- also fewer fn calls to clear state
- disabled for now, need to make some other adjustments
- this was only necessary as a workaround to a previous bug; its a bad idea - re-enable event progress path
- only use event method if abt pool and hg context both support it - use eventfd to break progress loop on finalize - use infinite timeout on epoll_wait
- revert prio_pool to use condition variable at all times for its own internal purposes - add user-space tracking of eventfd state to avoid writing events when it is already activated - clear eventfd only when it has produced epoll events
Closing PR but keeping branch for historical reference if we find a need to revisit it. Adding the ability for an Argobots pool to signal when it needs attention (so that it could be intergrated more naturally into an event loop) proved to cause too much overhead vs. our existing approach. |
work in progress for #288