Re: [PATCH v2 0/2] async hybrid for pollable requests

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

 



On 10/18/21 11:29, Hao Xu wrote:
1/2 is a prep patch. 2/2 is the main one.
The good thing: see commit message.
the side effect: for normal io-worker path, added two if and two local
variables. for FORCE_ASYNC path, added three if and several dereferences

I think it is fine since the io-worker path is not the fast path, and
the benefit of this patchset is worth it.

We don't care about overhead in iowq, but would be better to get rid
of the in_worker in io_read(). See comments to 1/2.

Btw, you told that it performs better comparing to normal
IOSQE_ASYNC. I'm confused, didn't we agree that it can be
merged into IOSQE_ASYNC without extra flags?


Btw, we need to tweak the io-cancel.c a bit, not a big problem.
liburing tests will come later.

v1-->v2:
  - split logic of force_nonblock
  - tweak added code in io_wq_submit_work to reduce overhead
  from Pavel's commments.

Hao Xu (2):
   io_uring: split logic of force_nonblock
   io_uring: implement async hybrid mode for pollable requests

  fs/io_uring.c                 | 85 ++++++++++++++++++++++++++---------
  include/uapi/linux/io_uring.h |  4 +-
  2 files changed, 66 insertions(+), 23 deletions(-)


--
Pavel Begunkov



[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