mbox series

[PATCHv2,0/5] nvme io_uring_cmd polling enhancements

Message ID 20230407191636.2631046-1-kbusch@meta.com (mailing list archive)
Headers show
Series nvme io_uring_cmd polling enhancements | expand

Message

Keith Busch April 7, 2023, 7:16 p.m. UTC
From: Keith Busch <kbusch@kernel.org>

Similar idea as the original v1, but even better.

This series originally aimed at improve polling without payloads, and
fix a potential bug when polling multipath. This ended up significantly
simplifying the nvme uring_cmd handling in the process.

In order to ensure we're polling the correct thing, we need the original
request, but we can't depend on the "cookie" since the field has
multi-purpose. But we have a free spot for the request in the driver's
"pdu", so the driver just needs to detangle the "bio" occupying the same
spot.

Keith Busch (5):
  block: add request polling helper
  nvme: simplify passthrough bio cleanup
  nvme: unify nvme request end_io
  nvme: use blk-mq polling for uring commands
  io_uring: remove uring_cmd cookie

 block/blk-mq.c                |  18 +++++
 drivers/nvme/host/ioctl.c     | 137 ++++++----------------------------
 drivers/nvme/host/multipath.c |   2 +-
 drivers/nvme/host/nvme.h      |   2 -
 include/linux/blk-mq.h        |   2 +
 include/linux/io_uring.h      |   8 +-
 io_uring/uring_cmd.c          |   1 -
 7 files changed, 47 insertions(+), 123 deletions(-)