All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHSET v2 0/9] Batched completions
@ 2021-10-13 16:54 Jens Axboe
  2021-10-13 16:54 ` [PATCH 1/9] block: define io_batch structure Jens Axboe
                   ` (8 more replies)
  0 siblings, 9 replies; 35+ messages in thread
From: Jens Axboe @ 2021-10-13 16:54 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.

A few rough edges in this patchset, but sending it out for comments
so I can whip it into an upstreamable thing. As per patch 8, the
wins here are pretty massive - 8-10% improvement in the peak IOPS.

Changes since v1:
- Rename ib -> iob for the batch
- Add rq_list helpers
- Change array -> tags_array naming
- Drop nvme disposition patch
- Rework the batched completion on the nvme side to be a lot cleaner
- Add DEFINE_IO_BATCH helper
- Move batch into blkdev.h instead of in fs.h

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 35+ messages in thread
* [PATCHSET 0/9] Batched completions
@ 2021-10-12 18:17 Jens Axboe
  2021-10-12 18:17 ` [PATCH 8/9] io_uring: utilize the io_batch infrastructure for more efficient polled IO Jens Axboe
  0 siblings, 1 reply; 35+ messages in thread
From: Jens Axboe @ 2021-10-12 18:17 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.

A few rough edges in this patchset, but sending it out for comments
so I can whip it into an upstreamable thing. As per patch 8, the
wins here are pretty massive - 8-10% improvement in the peak IOPS.

-- 
Jens Axboe



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

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

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-13 16:54 [PATCHSET v2 0/9] Batched completions Jens Axboe
2021-10-13 16:54 ` [PATCH 1/9] block: define io_batch structure Jens Axboe
2021-10-14  5:45   ` Christoph Hellwig
2021-10-14 15:50     ` Jens Axboe
2021-10-14 16:06       ` Christoph Hellwig
2021-10-14 18:14         ` Jens Axboe
2021-10-13 16:54 ` [PATCH 2/9] block: add a struct io_batch argument to fops->iopoll() Jens Axboe
2021-10-13 16:54 ` [PATCH 3/9] sbitmap: add helper to clear a batch of tags Jens Axboe
2021-10-13 16:54 ` [PATCH 4/9] sbitmap: test bit before calling test_and_set_bit() Jens Axboe
2021-10-14  7:20   ` Hannes Reinecke
2021-10-14 13:01     ` Jens Axboe
2021-10-14 18:41   ` Bart Van Assche
2021-10-13 16:54 ` [PATCH 5/9] block: add support for blk_mq_end_request_batch() Jens Axboe
2021-10-14  7:32   ` Christoph Hellwig
2021-10-14 15:27     ` Jens Axboe
2021-10-13 16:54 ` [PATCH 6/9] nvme: add support for batched completion of polled IO Jens Axboe
2021-10-14  7:43   ` Christoph Hellwig
2021-10-14 15:30     ` Jens Axboe
2021-10-14 15:34       ` Jens Axboe
2021-10-14 16:07       ` Christoph Hellwig
2021-10-14 16:11         ` Jens Axboe
2021-10-13 16:54 ` [PATCH 7/9] block: assign batch completion handler in blk_poll() Jens Axboe
2021-10-14  7:48   ` Christoph Hellwig
2021-10-14 15:43     ` Jens Axboe
2021-10-13 16:54 ` [PATCH 8/9] io_uring: utilize the io_batch infrastructure for more efficient polled IO Jens Axboe
2021-10-14  8:03   ` Christoph Hellwig
2021-10-14 15:45     ` Jens Axboe
2021-10-14 16:08       ` Christoph Hellwig
2021-10-14 18:14         ` Jens Axboe
2021-10-16  4:29           ` Christoph Hellwig
2021-10-16 14:33             ` Jens Axboe
2021-10-13 16:54 ` [PATCH 9/9] nvme: wire up completion batching for the IRQ path Jens Axboe
2021-10-14  7:53   ` Christoph Hellwig
2021-10-14 15:49     ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2021-10-12 18:17 [PATCHSET 0/9] Batched completions Jens Axboe
2021-10-12 18:17 ` [PATCH 8/9] io_uring: utilize the io_batch infrastructure for more efficient polled IO 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.