-
Notifications
You must be signed in to change notification settings - Fork 391
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
io_uring_for_each_cqe can overflow the cqe ring with SQPOLL #1139
Comments
I went with breaking out of the loop after N iterations. |
I really liked your idea of using a tail assigned at the start of the loop though, I think that's a nice general thing to do and it would solve your issue as well. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A server using for_each_cqe with SQPOLL set will overflow the cqe ring given enough connections / time such that we keep getting new CQEs added onto the end before we complete the loop.
As peek/wait is significantly slower than this loop does anyone have a better method of cq polling in this case? Queue'ing the events and doing a second loop is a 5% slowdown.
This is the for_each macro. Perhaps saving the tail prior to the loop would be okay?
The text was updated successfully, but these errors were encountered: