Skip to content

linux: always use io_uring for epoll batching#4638

Merged
bnoordhuis merged 1 commit intolibuv:v1.xfrom
bnoordhuis:fix4616
Dec 5, 2024
Merged

linux: always use io_uring for epoll batching#4638
bnoordhuis merged 1 commit intolibuv:v1.xfrom
bnoordhuis:fix4616

Conversation

@bnoordhuis
Copy link
Copy Markdown
Member

io_uring support was default-disabled because of numerous kernel bugs but those are all in the sqpoll (file i/o) parts of io_uring.

Batching of epoll_ctl calls through io_uring works fine, is a nice optimization, and is therefore unconditionally enabled again.

The UV_USE_IO_URING environment variable now only affects sqpoll, and only when the UV_LOOP_ENABLE_IO_URING_SQPOLL event loop flag is set.

Fixes: #4616

io_uring support was default-disabled because of numerous kernel bugs
but those are all in the sqpoll (file i/o) parts of io_uring.

Batching of epoll_ctl calls through io_uring works fine, is a nice
optimization, and is therefore unconditionally enabled again.

The UV_USE_IO_URING environment variable now only affects sqpoll, and
only when the UV_LOOP_ENABLE_IO_URING_SQPOLL event loop flag is set.

Fixes: libuv#4616
Copy link
Copy Markdown
Member

@saghul saghul left a comment

Choose a reason for hiding this comment

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

Do any of the docs need updating?

@bnoordhuis
Copy link
Copy Markdown
Member Author

Do any of the docs need updating?

I don't think so. UV_USE_IO_URING was never documented in the first place.

@bnoordhuis bnoordhuis merged commit 69bad82 into libuv:v1.x Dec 5, 2024
@bnoordhuis bnoordhuis deleted the fix4616 branch December 5, 2024 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tweak effect of UV_LOOP_USE_IO_URING

3 participants