[PATCHSET v2] io_uring fixes for 5.5-rc3

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

 



Hot on the heels of v1, here's the updated set. The main difference
here is ensuring that ->opcode is stable for deferred (async or just
linked) execution. Doesn't help that we fully prep commands, if the
reissue ends up reading sqe fields again to figure out which command
it is.

I think this improves it all around, and it makes me more comfortable
with the persistent state. There's three patches that deal with
poll add/remove, cancel async, and timeout remove. Those are the three
commands we still missed that need to retain state across a deferral,
and then a patch that stuffs sqe->opcode in a io_kiocb hole, and
ensures we assign ->opcode and ->user_data when we retrieve the SQE.

Lastly, a patch that adds a warning about new commands that don't
have a prep handler. We need that for ANY command that reads sqe
fields, which is all of them obviously except NOP.

I dropped Pavel's submit-and-wait patch for now, hoping he'll send a
new one tomorrow and I'll get that added

 fs/io-wq.c    |   2 +-
 fs/io_uring.c | 692 ++++++++++++++++++++++++++++++++++----------------
 2 files changed, 470 insertions(+), 224 deletions(-)

-- 
Jens Axboe





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux