Skip to content
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

Tweak effect of UV_LOOP_USE_IO_URING #4616

Open
bnoordhuis opened this issue Nov 19, 2024 · 4 comments
Open

Tweak effect of UV_LOOP_USE_IO_URING #4616

bnoordhuis opened this issue Nov 19, 2024 · 4 comments

Comments

@bnoordhuis
Copy link
Member

I'm thinking that it should work like this:

  1. UV_USE_IO_URING=0 disables io_uring completely
  2. UV_USE_IO_URING=1 enables epoll batching and sqpoll
  3. No UV_USE_IO_URING enables epoll batching but not sqpoll
  4. The loop flag works like (2)

The flag should have taken a boolean as an argument, in hindsight, but eh, live and learn.

Alternatively, we could leave epoll batching as an always-on thing and make the environment variable and loop flag only affect sqpoll. Because honestly, it's a pretty good optimization.

Originally posted by @bnoordhuis in #4598 (comment)

@bnoordhuis
Copy link
Member Author

Alternatively, we could leave epoll batching as an always-on thing and make the environment variable and loop flag only affect sqpoll. Because honestly, it's a pretty good optimization.

I think this is where the consensus is? @saghul was with me on this one, at least :)

@santigimeno
Copy link
Member

Alternatively, we could leave epoll batching as an always-on thing and make the environment variable and loop flag only affect sqpoll. Because honestly, it's a pretty good optimization.

I think this is where the consensus is? @saghul was with me on this one, at least :)

+1 from me

@juanarbol
Copy link
Contributor

I can work on this one

@bnoordhuis
Copy link
Member Author

I have it pretty much finished already, the only thing we need to decide on is what gets highest priority: the environment variable, or the UV_LOOP_ENABLE_IO_URING_SQPOLL flag. I can see an argument for either.

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

No branches or pull requests

3 participants