mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-04-23 14:54:03 +00:00
io_uring: only force async punt if poll based retry can't handle it
We do blocking retry from our poll handler, if the file supports polled notifications. Only mark the request as needing an async worker if we can't poll for it. Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
af197f50ac
commit
490e89676a
1 changed files with 4 additions and 2 deletions
|
@ -2604,7 +2604,8 @@ copy_iov:
|
|||
if (ret)
|
||||
goto out_free;
|
||||
/* any defer here is final, must blocking retry */
|
||||
if (!(req->flags & REQ_F_NOWAIT))
|
||||
if (!(req->flags & REQ_F_NOWAIT) &&
|
||||
!file_can_poll(req->file))
|
||||
req->flags |= REQ_F_MUST_PUNT;
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
@ -2726,7 +2727,8 @@ copy_iov:
|
|||
if (ret)
|
||||
goto out_free;
|
||||
/* any defer here is final, must blocking retry */
|
||||
req->flags |= REQ_F_MUST_PUNT;
|
||||
if (!file_can_poll(req->file))
|
||||
req->flags |= REQ_F_MUST_PUNT;
|
||||
return -EAGAIN;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue