From: Bart Van Assche <bvanassche@acm.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org,
"Martin K . Petersen" <martin.petersen@oracle.com>,
Christoph Hellwig <hch@lst.de>,
Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v6 0/6] Disable fair tag sharing for UFS devices
Date: Thu, 30 Nov 2023 11:31:27 -0800 [thread overview]
Message-ID: <20231130193139.880955-1-bvanassche@acm.org> (raw)
Hi Jens,
The fair tag sharing algorithm reduces performance for UFS devices
significantly. This is because UFS devices have multiple logical units, a
limited queue depth (32 for UFS 3.1 devices), because it happens often that
multiple logical units are accessed and also because it takes time to
give tags back after activity on a request queue has stopped. This patch series
restores UFS device performance to that of the legacy block layer by disabling
fair tag sharing for UFS devices.
Please consider this patch series for the next merge window.
Thanks,
Bart.
Changes compared to v5:
- Request queues are frozen before fair tag sharing is changed.
- Added a sysfs attribute to SCSI hosts for configuring fair tag sharing.
Changes compared to v4:
- Rebased on top of kernel v6.7-rc1.
Changes compared to v3:
- Instead of disabling fair tag sharing for all block drivers, introduce a
flag for disabling it conditionally.
Changes between v2 and v3:
- Rebased on top of the latest kernel.
Changes between v1 and v2:
- Restored the tags->active_queues variable and thereby fixed the
"uninitialized variable" warning reported by the kernel test robot.
Bart Van Assche (4):
block: Make fair tag sharing configurable
scsi: core: Make fair tag sharing configurable in the host template
scsi: core: Make fair tag sharing configurable via sysfs
scsi: ufs: Disable fair tag sharing
block/blk-mq-debugfs.c | 1 +
block/blk-mq.c | 28 ++++++++++++++++++++++++++++
block/blk-mq.h | 3 ++-
drivers/scsi/hosts.c | 1 +
drivers/scsi/scsi_lib.c | 2 ++
drivers/scsi/scsi_sysfs.c | 30 ++++++++++++++++++++++++++++++
drivers/ufs/core/ufshcd.c | 1 +
include/linux/blk-mq.h | 6 ++++--
include/scsi/scsi_host.h | 6 ++++++
9 files changed, 75 insertions(+), 3 deletions(-)
next reply other threads:[~2023-11-30 19:31 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-30 19:31 Bart Van Assche [this message]
2023-11-30 19:31 ` [PATCH v6 1/4] block: Make fair tag sharing configurable Bart Van Assche
2023-12-01 12:52 ` Johannes Thumshirn
2023-12-01 22:14 ` Bart Van Assche
2023-12-02 7:21 ` Yu Kuai
2023-12-04 4:13 ` Bart Van Assche
2023-12-25 12:51 ` Yu Kuai
2023-12-26 2:22 ` Bart Van Assche
2024-01-11 19:22 ` Bart Van Assche
2024-01-12 1:08 ` Yu Kuai
2024-01-12 4:39 ` Christoph Hellwig
2024-01-14 3:22 ` Yu Kuai
2024-01-15 5:59 ` Christoph Hellwig
2024-01-15 6:18 ` Yu Kuai
2024-01-16 2:59 ` Bart Van Assche
2024-01-16 10:24 ` Yu Kuai
2024-01-16 17:36 ` Bart Van Assche
2024-01-18 7:31 ` Christoph Hellwig
2024-01-18 18:40 ` Bart Van Assche
2024-01-23 9:13 ` Christoph Hellwig
2024-01-23 15:16 ` Bart Van Assche
2024-01-24 9:08 ` Christoph Hellwig
2024-01-30 0:03 ` Bart Van Assche
2024-01-31 6:22 ` Christoph Hellwig
2024-01-31 21:32 ` Bart Van Assche
2024-01-31 21:37 ` Keith Busch
2024-01-31 21:42 ` Bart Van Assche
2024-01-31 23:04 ` Keith Busch
2024-01-31 23:41 ` Bart Van Assche
2024-01-31 23:52 ` Damien Le Moal
2024-01-16 2:52 ` Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 2/4] scsi: core: Make fair tag sharing configurable in the host template Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 3/4] scsi: core: Make fair tag sharing configurable via sysfs Bart Van Assche
2023-11-30 19:31 ` [PATCH v6 4/4] scsi: ufs: Disable fair tag sharing Bart Van Assche
2023-12-04 7:52 ` [PATCH v6 0/6] Disable fair tag sharing for UFS devices Christoph Hellwig
2023-12-05 3:15 ` Bart Van Assche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231130193139.880955-1-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).