Messages in this thread |  | | Subject | Re: [PATCH v3] io_uring: don't wait when under-submitting | From | Jens Axboe <> | Date | Sat, 14 Dec 2019 22:42:15 -0700 |
| |
On 12/14/19 11:43 AM, Jens Axboe wrote: > On 12/14/19 7:53 AM, Pavel Begunkov wrote: >> There is no reliable way to submit and wait in a single syscall, as >> io_submit_sqes() may under-consume sqes (in case of an early error). >> Then it will wait for not-yet-submitted requests, deadlocking the user >> in most cases. >> >> In such cases adjust min_complete, so it won't wait for more than >> what have been submitted in the current call to io_uring_enter(). It >> may be less than totally in-flight including previous submissions, >> but this shouldn't do harm and up to a user. > > Thanks, applied.
This causes a behavioral change where if you ask to submit 1 but there's nothing in the SQ ring, then you would get 0 before. Now you get -EAGAIN. This doesn't make a lot of sense, since there's no point in retrying as that won't change anything.
Can we please just do something like the one I sent, instead of trying to over-complicate it?
-- Jens Axboe
|  |