[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230618160738.54385-1-yukuai1@huaweicloud.com>
Date: Mon, 19 Jun 2023 00:07:31 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: bvanassche@....org, axboe@...nel.dk
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
yukuai3@...wei.com, yukuai1@...weicloud.com, yi.zhang@...wei.com,
yangerkun@...wei.com
Subject: [PATCH RFC 0/7] blk-mq: improve tag fair sharing
From: Yu Kuai <yukuai3@...wei.com>
This is not a formal version and not fully tested, I send this RFC
because I want to make sure if people think doing this is meaningful,
before I spend too much time on this.
This patchset tries to refactor how tag is shared:
- patch 2 delay tag sharing from issue io to when get driver tag faild;
- patch 3 support to access which queues/hctxs is sharing tags through
blk_mq_tags;
- patch 4 move the caculation that how many tags is available from
hctx_may_queue() to when queue/hctx start or stop to sharing tags.
- patch 5 record new information that how many times fail to get driver
tag recently; And patch 7 use this to adjust available tags for each
shared queue.
Yu Kuai (7):
blk-mq: factor out a structure from blk_mq_tags to control tag sharing
blk-mq: delay tag fair sharing until fail to get driver tag
blk-mq: support to track active queues from blk_mq_tags
blk-mq: precalculate available tags for hctx_may_queue()
blk-mq: record the number of times fail to get driver tag while
sharing tags
blk-mq: move active request counter to struct tag_sharing
blk-mq: allow shared queue to get more driver tags
block/blk-core.c | 2 -
block/blk-mq-debugfs.c | 6 +-
block/blk-mq-tag.c | 154 ++++++++++++++++++++++++++++++++++++++---
block/blk-mq.c | 10 ++-
block/blk-mq.h | 39 ++++++-----
include/linux/blk-mq.h | 24 ++++---
include/linux/blkdev.h | 13 +++-
7 files changed, 201 insertions(+), 47 deletions(-)
--
2.39.2
Powered by blists - more mailing lists