All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5.20 0/4] block/dm: add bio_rewind for improving dm requeue
@ 2022-06-24 14:12 ` Ming Lei
  0 siblings, 0 replies; 76+ messages in thread
From: Ming Lei @ 2022-06-24 14:12 UTC (permalink / raw)
  To: Jens Axboe, Mike Snitzer; +Cc: linux-block, dm-devel, Ming Lei

Hello Guys,

The 1st patch adds bio_rewind which can restore bio to original position
by recording sectors between the original position to bio's end sector
if the bio's end sector won't change, which should be very common to
see.

The 2nd and 3rd patch cleans up dm code for handling requeue &
completion.

The last patch implements 2 stage dm io requeue for avoiding to allocate
one bio beforehand for just handling requeue which is one unusual event.
The 1st stage requeue is added for cloning & restoring original bio in wq
context, then 2nd stage requeue will use that as original bio for
handling requeue.


Ming Lei (4):
  block: add bio_rewind() API
  dm: add new helper for handling dm_io requeue
  dm: improve handling for DM_REQUEUE and AGAIN
  dm: add two stage requeue

 block/bio-integrity.c       |  19 ++++
 block/bio.c                 |  19 ++++
 block/blk-crypto-internal.h |   7 ++
 block/blk-crypto.c          |  23 +++++
 drivers/md/dm-core.h        |  11 ++-
 drivers/md/dm.c             | 180 ++++++++++++++++++++++++++++--------
 include/linux/bio.h         |  21 +++++
 include/linux/bvec.h        |  33 +++++++
 8 files changed, 271 insertions(+), 42 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2022-07-06 15:03 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24 14:12 [PATCH 5.20 0/4] block/dm: add bio_rewind for improving dm requeue Ming Lei
2022-06-24 14:12 ` [dm-devel] " Ming Lei
2022-06-24 14:12 ` [PATCH 5.20 1/4] block: add bio_rewind() API Ming Lei
2022-06-24 14:12   ` [dm-devel] " Ming Lei
2022-06-26 20:14   ` Kent Overstreet
2022-06-26 20:14     ` [dm-devel] " Kent Overstreet
2022-06-27  7:36     ` Ming Lei
2022-06-27  7:36       ` [dm-devel] " Ming Lei
2022-06-28  4:20       ` Kent Overstreet
2022-06-28  4:20         ` [dm-devel] " Kent Overstreet
2022-06-28  7:42         ` Ming Lei
2022-06-28  7:42           ` [dm-devel] " Ming Lei
2022-06-28 16:16           ` Kent Overstreet
2022-06-28 16:16             ` [dm-devel] " Kent Overstreet
2022-06-28 18:13         ` Jens Axboe
2022-06-28 18:13           ` [dm-devel] " Jens Axboe
2022-06-28 18:32           ` Kent Overstreet
2022-06-28 18:32             ` [dm-devel] " Kent Overstreet
2022-06-29 17:16             ` Jens Axboe
2022-06-29 17:16               ` [dm-devel] " Jens Axboe
2022-06-29 18:40               ` Kent Overstreet
2022-06-29 18:40                 ` [dm-devel] " Kent Overstreet
2022-06-29 18:51                 ` Bart Van Assche
2022-06-29 18:51                   ` [dm-devel] " Bart Van Assche
2022-06-29 19:05                   ` Kent Overstreet
2022-06-29 19:05                     ` [dm-devel] " Kent Overstreet
2022-06-29 19:37                     ` Bart Van Assche
2022-06-29 19:37                       ` [dm-devel] " Bart Van Assche
2022-06-29 19:50                       ` Kent Overstreet
2022-06-29 19:50                         ` [dm-devel] " Kent Overstreet
2022-06-29 19:59                       ` Kent Overstreet
2022-06-29 19:59                         ` [dm-devel] " Kent Overstreet
2022-06-29 19:00                 ` Jens Axboe
2022-06-29 19:00                   ` [dm-devel] " Jens Axboe
2022-06-29 19:26                   ` Kent Overstreet
2022-06-29 19:26                     ` [dm-devel] " Kent Overstreet
2022-06-29 20:51                     ` Jens Axboe
2022-06-29 20:51                       ` [dm-devel] " Jens Axboe
2022-06-29  0:49           ` Ming Lei
2022-06-29  0:49             ` [dm-devel] " Ming Lei
2022-06-28  4:26       ` Kent Overstreet
2022-06-28  4:26         ` [dm-devel] " Kent Overstreet
2022-06-28  7:49         ` Ming Lei
2022-06-28  7:49           ` [dm-devel] " Ming Lei
2022-06-28 16:36           ` Kent Overstreet
2022-06-28 16:36             ` [dm-devel] " Kent Overstreet
2022-06-28 17:41             ` Mike Snitzer
2022-06-28 17:41               ` [dm-devel] " Mike Snitzer
2022-06-28 17:52               ` Kent Overstreet
2022-06-28 17:52                 ` [dm-devel] " Kent Overstreet
2022-06-29  6:07                 ` Mike Snitzer
2022-06-29  6:07                   ` [dm-devel] " Mike Snitzer
2022-06-29 18:11                   ` Kent Overstreet
2022-06-29 18:11                     ` [dm-devel] " Kent Overstreet
2022-06-30  0:47                     ` Ming Lei
2022-06-30  0:47                       ` [dm-devel] " Ming Lei
2022-06-30  0:58                       ` Kent Overstreet
2022-06-30  0:58                         ` [dm-devel] " Kent Overstreet
2022-06-30  1:14                       ` Kent Overstreet
2022-06-30  1:14                         ` [dm-devel] " Kent Overstreet
2022-07-01  3:58                         ` Ming Lei
2022-07-01  3:58                           ` Ming Lei
2022-07-01 21:09                           ` Kent Overstreet
2022-07-01 21:09                             ` [dm-devel] " Kent Overstreet
2022-06-29  1:02             ` Ming Lei
2022-06-29  1:02               ` [dm-devel] " Ming Lei
2022-06-26 21:37   ` Eric Biggers
2022-06-26 21:37     ` Eric Biggers
2022-06-27  7:37     ` Ming Lei
2022-06-27  7:37       ` Ming Lei
2022-06-24 14:12 ` [PATCH 5.20 2/4] dm: add new helper for handling dm_io requeue Ming Lei
2022-06-24 14:12   ` [dm-devel] " Ming Lei
2022-06-24 14:12 ` [PATCH 5.20 3/4] dm: improve handling for DM_REQUEUE and AGAIN Ming Lei
2022-06-24 14:12   ` [dm-devel] " Ming Lei
2022-06-24 14:12 ` [PATCH 5.20 4/4] dm: add two stage requeue Ming Lei
2022-06-24 14:12   ` [dm-devel] " Ming Lei

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.