8000 refactor(io): Refactor network types into net::io modules, add runtime fallback for-uring by XAMPPRocky · Pull Request #1191 · googleforgames/quilkin · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

refactor(io): Refactor network types into net::io modules, add runtime fallback for-uring #1191

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

XAMPPRocky
Copy link
Collaborator

This PR fixes #1183 by refactoring the network listening code to allow for falling all the way back to epoll on Linux at runtime.

As part of that I've consolidated all our different IO backends into a single net::io module, and then I made a module for each of our different kinds of backends (polling, completion, NIC) and moved platform specific code there, that way more of the code can be compiled on macOS and Windows which makes development easier with more of the logic being shared.

This should be a bit tidier with #1185 but I wanted to fix #1183 first.

Copy link
Collaborator
@Jake-Shadle Jake-Shadle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO it's a bit suspect to fallback to epoll by default if io-uring is unavailable due to potential performance loss that the user won't be made aware of.

@XAMPPRocky
Copy link
Collaborator Author

due to potential performance loss that the user won't be made aware of.

They will be aware because we log an error when io-uring fails, so they see that it failed.

@XAMPPRocky XAMPPRocky requested a review from glindstedt as a code owner May 5, 2025 07:03
@XAMPPRocky XAMPPRocky force-pushed the ep/io-refactor branch 8 times, most recently from d6f914d to 069cdeb Compare May 7, 2025 11:38
@quilkin-bot
Copy link
Collaborator

Build Failed 😭

Build Id: f122d74e-f3e1-492f-a3f4-d1bbd4059ceb

Status: FAILURE

To get permission to view the Cloud Build view, join the quilkin-discuss Google Group.

Filter with the Git Commit 46a3028 within us-docker.pkg.dev/quilkin/ci//quilkin to see if a development image is available from this build, and can be used for debugging purposes.

Development images are retained for at least 30 days.

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.

io-uring syscalls blocked by default on containerd > 1.7.0 security profiles
3 participants
0