mbox series

[for-next,v3,0/4] iopoll support for io_uring/nvme

Message ID 20220823161443.49436-1-joshi.k@samsung.com (mailing list archive)
Headers show
Series iopoll support for io_uring/nvme | expand

Message

Kanchan Joshi Aug. 23, 2022, 4:14 p.m. UTC
Series enables async polling on io_uring command, and nvme passthrough
(for io-commands) is wired up to leverage that.
This gives nice IOPS hike (even 100% at times) particularly on lower
queue-depths.

Changes since v2:
- rebase against for-next (which now has bio-cache that can operate on
  polled passthrough IO)
- bit of rewording in commit description

Changes since v1:
- corrected variable name (Jens)
- fix for a warning (test-robot)

Kanchan Joshi (4):
  fs: add file_operations->uring_cmd_iopoll
  io_uring: add iopoll infrastructure for io_uring_cmd
  block: export blk_rq_is_poll
  nvme: wire up async polling for io passthrough commands

 block/blk-mq.c                |  3 +-
 drivers/nvme/host/core.c      |  1 +
 drivers/nvme/host/ioctl.c     | 73 ++++++++++++++++++++++++++++++++---
 drivers/nvme/host/multipath.c |  1 +
 drivers/nvme/host/nvme.h      |  2 +
 include/linux/blk-mq.h        |  1 +
 include/linux/fs.h            |  1 +
 include/linux/io_uring.h      |  8 +++-
 io_uring/io_uring.c           |  6 +++
 io_uring/opdef.c              |  1 +
 io_uring/rw.c                 |  8 +++-
 io_uring/uring_cmd.c          | 11 +++++-
 12 files changed, 105 insertions(+), 11 deletions(-)


base-commit: 15e543410e9ba86d36a0410bdaf0c02f59fb8936

Comments

Jens Axboe Sept. 2, 2022, 3:35 p.m. UTC | #1
On Tue, 23 Aug 2022 21:44:39 +0530, Kanchan Joshi wrote:
> Series enables async polling on io_uring command, and nvme passthrough
> (for io-commands) is wired up to leverage that.
> This gives nice IOPS hike (even 100% at times) particularly on lower
> queue-depths.
> 
> Changes since v2:
> - rebase against for-next (which now has bio-cache that can operate on
>   polled passthrough IO)
> - bit of rewording in commit description
> 
> [...]

Applied, thanks!

[1/4] fs: add file_operations->uring_cmd_iopoll
      commit: acdb4c6b62aa229c14a57422e4effab233b2c455
[2/4] io_uring: add iopoll infrastructure for io_uring_cmd
      commit: 585cee108ddaa8893611f95611e32ed605fc6936
[3/4] block: export blk_rq_is_poll
      commit: 2dd9d642edf01043885cefeaaa06d9c8e1aa4503
[4/4] nvme: wire up async polling for io passthrough commands
      commit: 5760ebead11801cdb73cdf3841e73231968f6af4

Best regards,