Re: Polled I/O cannot find completions

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

 




Does io_uring though have to deal with BLK_QC_T_NONE at all?  Or are you
saying that it should never receive that result?
That's one of the things I'm not clear about.
BLK_QC_T_* are block cookies, they are only valid in the block layer.
Only the poll handler called should have to deal with them, inside
their f_op->iopoll() handler. It's simply passed from the queue to
the poll side.

So no, io_uring shouldn't have to deal with them at all.

The problem, as I see it, is if the block layer returns BLK_QC_T_NONE
and the IO was actually queued and requires polling to be found. We'd
end up with IO timeouts for handling those requests, and that's not a
good thing...

I see requests in io_do_iopoll() on poll_list with req->res == -EAGAIN, I think because the completion happened after an issued request was added to poll_list in io_iopoll_req_issued().

How should we deal with such a request, reissue unconditionally or something else?

--bijan



[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