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

reactor: io_uring: poll first on send/recv #2092

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

avikivity
Copy link
Member

Our speculation mechanism tries to predict if data is available in the socket (recv) or if there is room in the write buffer (send) and issues the syscall directly if so. It may make more sense to change it later, but for now, the expectation is that the request will not be completed immediately.

Make use of this information by setting the IORING_RECVSEND_POLL_FIRST flag. This tells io_uring not to try to complete the request immediately, and instead issue a poll first.

Our speculation mechanism tries to predict if data is available in the
socket (recv) or if there is room in the write buffer (send) and issues
the syscall directly if so. It may make more sense to change it later,
but for now, the expectation is that the request will not be
completed immediately.

Make use of this information by setting the IORING_RECVSEND_POLL_FIRST
flag. This tells io_uring not to try to complete the request immediately,
and instead issue a poll first.
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.

None yet

1 participant