Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
plaintext benchmark can cause Netty io_uring to use ASYNC SQEs that are not nicely handled at OS level (creating TONS of kernel threads ie ring size per event loop -> 4096 * 28 ).
Some more info on this behaviour at axboe/liburing#420 and https://blog.cloudflare.com/missing-manuals-io_uring-worker-pool/ as well.
In our case, plaintext could use 16384 connections partitioned in 28 event loops = 582 connections per event loop
which exceed the 25 default ones and can cause ASYNC SQEs to be used
This PR fix this behaviour and force SYNC SQEs: see netty/netty-incubator-transport-io_uring#152 (comment) for more info