Skip to content

Conversation

@mjstapp
Copy link
Contributor

@mjstapp mjstapp commented Oct 31, 2025

This commit substitutes poll APIs with epoll APIs for better performance. Note that epoll APIs are only available for Linux platforms. For BSD and other linux platforms which do not support epoll APIs, poll APIs are still used.
This is a rebase/update of #18126 , which was itself an update of the original PR #12862 . We're going to try to get this work moving forward again.

@mjstapp
Copy link
Contributor Author

mjstapp commented Oct 31, 2025

oops - I see this is getting flagged because the original code used deprecated hash apis - I'll push a fix

@mjstapp mjstapp changed the title lib: Substitute poll APIs with epoll APIs in thread management routine lib: Support epoll APIs in thread management lib Nov 3, 2025
@github-actions github-actions bot added the rebase PR needs rebase label Nov 3, 2025
@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 3, 2025

whoops - missed a checkpatch error, pushed a fix; still working on replacing the deprecated hash code

@riw777 riw777 self-requested a review November 4, 2025 16:23
@github-actions
Copy link

github-actions bot commented Nov 5, 2025

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 5, 2025

converted hash to typesafe apis, and rebased to newer master

@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 5, 2025

CI:rerun

@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 5, 2025

let's run again, see where we are

@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 5, 2025

I've temporarily made epoll the default (where available) so we can do test runs. I've added the "do not merge" tag temporarily too.

@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 6, 2025

CI:rerun

This commit adds support for epoll APIs for better
performance. This is controlled by a configure option. Note that
epoll APIs are only available for Linux platforms. For BSD and
other linux platforms which do not support epoll APIs, poll APIs
are still used.

Signed-off-by: Kaifei Peng <[email protected]>
Signed-off-by: Mark Stapp <[email protected]>
@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 6, 2025

Pushed a couple of updates to stop emitted warning/debug messages in some cases

Mark Stapp added 2 commits November 7, 2025 15:49
Use the typesafe hash lib for the new epoll objects. Also make
a few cleanups and adjustments after testing.

Signed-off-by: Mark Stapp <[email protected]>
Enable epoll by default, temporarily for testing

Signed-off-by: Mark Stapp <[email protected]>
@mjstapp
Copy link
Contributor Author

mjstapp commented Nov 7, 2025

pushed an update to handle cancel of closed fds more cleanly, and to use jhash for the epoll fds that we hash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants