linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/7] Submit zoned writes in order
@ 2023-05-22 18:38 Bart Van Assche
  2023-05-22 18:38 ` [PATCH v3 1/7] block: Rename a local variable in blk_mq_requeue_work() Bart Van Assche
                   ` (7 more replies)
  0 siblings, 8 replies; 38+ messages in thread
From: Bart Van Assche @ 2023-05-22 18:38 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Christoph Hellwig, Mike Snitzer, Damien Le Moal,
	Jaegeuk Kim, Bart Van Assche

Hi Jens,

Tests with a zoned UFS prototype have shown that there are plenty of
opportunities for reordering in the block layer for zoned writes (REQ_OP_WRITE).
The UFS driver is more likely to trigger reordering than other SCSI drivers
because it reports BLK_STS_DEV_RESOURCE more often, e.g. during clock scaling.
This patch series makes sure that zoned writes are submitted in order without
affecting other workloads significantly.

Please consider this patch series for the next merge window.

Thanks,

Bart.

Changes compared to v2:
- Changed the approach from one requeue list per hctx into preserving one
  requeue list per request queue.
- Rebased on top of Jens' for-next branch. Left out the mq-deadline patches
  since these are already in the for-next branch.
- Modified patch "block: Requeue requests if a CPU is unplugged" such that it
  always uses the requeue list.
- Added a patch that removes blk_mq_kick_requeue_list() and
  blk_mq_delay_kick_requeue_list().
- Dropped patch "block: mq-deadline: Disable head insertion for zoned writes".
- Dropped patch "block: mq-deadline: Introduce a local variable".

Changes compared to v1:
- Fixed two issues detected by the kernel test robot.

Bart Van Assche (7):
  block: Rename a local variable in blk_mq_requeue_work()
  block: Send requeued requests to the I/O scheduler
  block: Requeue requests if a CPU is unplugged
  block: Make it easier to debug zoned write reordering
  block: Preserve the order of requeued requests
  dm: Inline __dm_mq_kick_requeue_list()
  block: Inline blk_mq_{,delay_}kick_requeue_list()

 block/blk-flush.c            |   4 +-
 block/blk-mq-debugfs.c       |   2 +-
 block/blk-mq.c               | 107 ++++++++++++++++++-----------------
 drivers/block/ublk_drv.c     |   6 +-
 drivers/block/xen-blkfront.c |   1 -
 drivers/md/dm-rq.c           |  11 +---
 drivers/nvme/host/core.c     |   2 +-
 drivers/s390/block/scm_blk.c |   2 +-
 drivers/scsi/scsi_lib.c      |   2 +-
 include/linux/blk-mq.h       |   6 +-
 include/linux/blkdev.h       |   1 -
 11 files changed, 69 insertions(+), 75 deletions(-)


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

end of thread, other threads:[~2023-06-23 20:32 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-22 18:38 [PATCH v3 0/7] Submit zoned writes in order Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 1/7] block: Rename a local variable in blk_mq_requeue_work() Bart Van Assche
2023-05-23  7:12   ` Christoph Hellwig
2023-05-23  9:48   ` Johannes Thumshirn
2023-05-22 18:38 ` [PATCH v3 2/7] block: Send requeued requests to the I/O scheduler Bart Van Assche
2023-05-23  7:18   ` Christoph Hellwig
2023-05-23 22:30     ` Bart Van Assche
2023-05-24  6:13       ` Christoph Hellwig
2023-05-24 18:22         ` Bart Van Assche
2023-05-25  8:25           ` Christoph Hellwig
2023-05-23  9:03   ` Ming Lei
2023-05-23 17:19     ` Bart Van Assche
2023-05-24  0:31       ` Ming Lei
2023-05-24 17:56         ` Bart Van Assche
2023-05-24 23:06           ` Damien Le Moal
2023-05-25  0:53             ` Ming Lei
2023-06-21  0:34             ` Bart Van Assche
2023-06-22 23:45               ` Damien Le Moal
2023-06-23 20:31                 ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 3/7] block: Requeue requests if a CPU is unplugged Bart Van Assche
2023-05-23  7:19   ` Christoph Hellwig
2023-05-23  8:17   ` Ming Lei
2023-05-23 20:15     ` Bart Van Assche
2023-05-24  0:35       ` Ming Lei
2023-05-24 18:18         ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 4/7] block: Make it easier to debug zoned write reordering Bart Van Assche
2023-05-23  7:19   ` Christoph Hellwig
2023-05-23 19:34     ` Bart Van Assche
2023-05-24  6:13       ` Christoph Hellwig
2023-05-24 18:25         ` Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 5/7] block: Preserve the order of requeued requests Bart Van Assche
2023-05-22 18:38 ` [PATCH v3 6/7] dm: Inline __dm_mq_kick_requeue_list() Bart Van Assche
2023-05-23  7:22   ` Christoph Hellwig
2023-05-22 18:38 ` [PATCH v3 7/7] block: Inline blk_mq_{,delay_}kick_requeue_list() Bart Van Assche
2023-05-24  8:01   ` Vineeth Vijayan
2023-05-23  7:22 ` [PATCH v3 0/7] Submit zoned writes in order Christoph Hellwig
2023-05-23 20:04   ` Bart Van Assche
2023-05-24  6:15     ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).