|
|
Subscribe / Log in / New account

Improve zoned storage write performance

From:  Bart Van Assche <bvanassche-AT-acm.org>
To:  Jens Axboe <axboe-AT-kernel.dk>
Subject:  [PATCH v2 0/6] Improve zoned storage write performance
Date:  Thu, 23 Jun 2022 16:25:57 -0700
Message-ID:  <20220623232603.3751912-1-bvanassche@acm.org>
Cc:  linux-block-AT-vger.kernel.org, Christoph Hellwig <hch-AT-lst.de>, Bart Van Assche <bvanassche-AT-acm.org>
Archive-link:  Article

Hi Jens,

Measurements have shown that limiting the queue depth to one per sequential
zone has a significant negative performance impact on zoned UFS devices. Hence
this patch series that increases the queue depth for write commands for
sequential zones when using the mq-deadline scheduler.

SCSI and UFS patches will be submitted at a later time (after multiqueue
support is available for the UFS driver).

Please consider this patch series for kernel v5.20.

Thanks,

Bart.

Changes compared to v1:
- Left out the SCSI and NVMe patches.
- Added a null_blk patch.
- Included measurement results.

Bart Van Assche (6):
  block: Document blk_queue_zone_is_seq() and blk_rq_zone_is_seq()
  block: Introduce the blk_rq_is_zoned_seq_write() function
  block: Introduce a request queue flag for pipelining zoned writes
  block/mq-deadline: Only use zone locking if necessary
  block/null_blk: Refactor null_queue_rq()
  block/null_blk: Add support for pipelining zoned writes

 block/blk-zoned.c                 | 17 +++--------------
 block/mq-deadline.c               | 15 +++++++++------
 drivers/block/null_blk/main.c     | 30 ++++++++++++++++++++----------
 drivers/block/null_blk/null_blk.h |  3 +++
 drivers/block/null_blk/zoned.c    |  4 +++-
 include/linux/blk-mq.h            | 30 ++++++++++++++++++++++++++++++
 include/linux/blkdev.h            | 16 ++++++++++++++++
 7 files changed, 84 insertions(+), 31 deletions(-)



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds