All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v3] Batched completions
@ 2021-10-17  2:06 Jens Axboe
  2021-10-17  2:06 ` [PATCH 1/6] block: add a struct io_comp_batch argument to fops->iopoll() Jens Axboe
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Jens Axboe @ 2021-10-17  2:06 UTC (permalink / raw)
  To: linux-block

Hi,

We now do decent batching of allocations for submit, but we still
complete requests individually. This costs a lot of CPU cycles.

This patchset adds support for collecting requests for completion,
and then completing them as a batch. This includes things like freeing
a batch of tags.

This version is looking pretty good to me now, and should be ready
for 5.16.

Changes since v2:
- Get rid of dev_id
- Get rid of mq_ops->complete_batch
- Drop now unnecessary ib->complete setting in blk_poll()
- Drop one sbitmap patch that was questionnable
- Rename io_batch to io_comp_batch
- Track need_timestamp on per-iob basis instead of for each request
- Drop elevator support for batching, cleaner without
- Make the batched driver addition simpler
- Unify nvme polled/irq handling
- Drop io_uring file checking, no longer neededd
- Cleanup io_uring completion side

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-10-20 14:02 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-17  2:06 [PATCHSET v3] Batched completions Jens Axboe
2021-10-17  2:06 ` [PATCH 1/6] block: add a struct io_comp_batch argument to fops->iopoll() Jens Axboe
2021-10-18 10:16   ` Christoph Hellwig
2021-10-17  2:06 ` [PATCH 2/6] sbitmap: add helper to clear a batch of tags Jens Axboe
2021-10-17  2:06 ` [PATCH 3/6] block: add support for blk_mq_end_request_batch() Jens Axboe
2021-10-18 10:18   ` Christoph Hellwig
2021-10-18 13:40     ` Jens Axboe
2021-10-17  2:06 ` [PATCH 4/6] nvme: add support for batched completion of polled IO Jens Axboe
2021-10-18 10:20   ` Christoph Hellwig
2021-10-17  2:06 ` [PATCH 5/6] io_uring: utilize the io batching infrastructure for more efficient " Jens Axboe
2021-10-18 10:20   ` Christoph Hellwig
2021-10-17  2:06 ` [PATCH 6/6] nvme: wire up completion batching for the IRQ path Jens Axboe
2021-10-18 10:22   ` Christoph Hellwig
2021-10-18 13:41     ` Jens Axboe
2021-10-18 15:14       ` Christoph Hellwig
2021-10-18 15:25         ` Jens Axboe
2021-10-20 11:14 ` [PATCHSET v3] Batched completions John Garry
2021-10-20 14:02   ` Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.