-
Notifications
You must be signed in to change notification settings - Fork 140
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
Should SubmissionQueue::push()
also check for cq_overflow()
?
#247
Comments
squeue::push()
also check for cq_overflow()
?SubmissionQueue::push()
also check for cq_overflow()
?
I think this is a built-in feature rather than a flag one can ask for: IORING_FEAT_NODROP |
Thanks for your reply! Sorry, I should've added more detail in my original post. I think the main reason that users would need to check liburing's When using a kernel thread to poll the SQ, the user doesn't call But I could be wrong! I haven't tried using io_uring in SQPOLL mode yet! |
Ah interesting. The best way to find out would be to file an issue with https://github.com/axboe/liburing and/or look at the source. |
My understanding - which may be wrong - is that an operation can be in one of three possible states in io_uring:
As such, when we
push
onto theSubmissionQueue
, there's a chance that the submission queue will not be full, but we'll still overflow the completion queue (because there are still lots of operations in flight). Should thepush
function also checkcq_overflow
?Although, if we do this, then maybe the error returned from
push
should discriminate between failing due to the SQ being full; and failing because the CQ is overflowing.Or should we leave it up to the user to check
cq_overflow
before callingsubmit
?More details here.
The text was updated successfully, but these errors were encountered: