Re: io_uring: not good enough for release

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/23/19 2:31 PM, Jens Axboe wrote:
>> 1. An error for a submission should be returned as completion for that
>> submission.  Please don't break my main event loop with strange error
>> codes just because a single operation is broken/not supported/...
> 
> So that's the case I was referring to above. We can just make that change,
> there's absolutely no reason to have errors passed back through a different
> channel.

Thinking about this a bit more, and I think the current approach is the
best one. The issue is that only submission side events tied to an sqe
can return an cqe, the rest have to be returned through the system call
value. So I think it's cleaner to keep it as-is, honestly.

>> (Also RWF_NOWAIT doesn't work in io_uring right now: IOCB_NOWAIT is
>> always removed in the workqueue context, and I don't see an early EAGAIN
>> completion).
> 
> That's a case I didn't consider, that you'd want to see EAGAIN after
> it's been punted. Once punted, we're not going to return EAGAIN since
> we can now block. Not sure how you'd want to handle that any better...

I think I grok this one too now - what you're saying is that if the
caller has RWF_NOWAIT set, then the EAGAIN should be returned instead of
being punted to the workqueue? I totally agree with that, that's a bug.

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux