From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, Li Ning <lining2020x@163.com>,
Tejun Heo <tj@kernel.org>, Chunguang Xu <brookxu@tencent.com>,
Ming Lei <ming.lei@redhat.com>
Subject: [PATCH V2 0/7] block: improve iops limit throttle
Date: Wed, 9 Feb 2022 17:14:22 +0800 [thread overview]
Message-ID: <20220209091429.1929728-1-ming.lei@redhat.com> (raw)
Hello Guys,
Lining reported that iops limit throttle doesn't work on dm-thin, also
iops limit throttle works bad on plain disk in case of excessive split.
Commit 4f1e9630afe6 ("blk-throtl: optimize IOPS throttle for large IO scenarios")
was for addressing this issue, but the taken approach is just to run
post-accounting, then current split bios won't be throttled actually,
so actual iops throttle result isn't good in case of excessive bio
splitting.
The 1st three patches are cleanup.
The 4th patches add one new local helper of submit_bio_noacct_nocheck() for
blk_throtl_dispatch_work_fn(), so that bios won't be throttled any more
when blk-throttle code dispatches throttled bios.
The 5th and 6th patch makes the real difference for throttling split bio wrt.
iops limit.
The last patch is to revert commit 4f1e9630afe6 ("blk-throtl: optimize IOPS
throttle for large IO scenarios").
Lining has verified that iops throttle is improved much on the posted
RFC V1 version.
V2:
- remove RFC
- don't add/export __submit_bio_noacct(), instead add one new local
helper of submit_bio_noacct_nocheck() per Christoph's suggestion
Ming Lei (7):
block: move submit_bio_checks() into submit_bio_noacct
block: move blk_crypto_bio_prep() out of blk-mq.c
block: don't declare submit_bio_checks in local header
block: don't check bio in blk_throtl_dispatch_work_fn
block: throttle split bio in case of iops limit
block: don't try to throttle split bio if iops limit isn't set
block: revert 4f1e9630afe6 ("blk-throtl: optimize IOPS throttle for
large IO scenarios")
block/blk-core.c | 53 ++++++++++++++++++++------------------
block/blk-merge.c | 2 --
block/blk-mq.c | 3 ---
block/blk-throttle.c | 61 ++++++++++++++++----------------------------
block/blk-throttle.h | 16 +++++++-----
block/blk.h | 2 +-
6 files changed, 61 insertions(+), 76 deletions(-)
--
2.31.1
next reply other threads:[~2022-02-09 9:41 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-09 9:14 Ming Lei [this message]
2022-02-09 9:14 ` [PATCH V2 1/7] block: move submit_bio_checks() into submit_bio_noacct Ming Lei
2022-02-09 14:01 ` Christoph Hellwig
2022-02-09 9:14 ` [PATCH V2 2/7] block: move blk_crypto_bio_prep() out of blk-mq.c Ming Lei
2022-02-09 14:02 ` Christoph Hellwig
2022-02-09 9:14 ` [PATCH V2 3/7] block: don't declare submit_bio_checks in local header Ming Lei
2022-02-09 14:02 ` Christoph Hellwig
2022-02-09 9:14 ` [PATCH V2 4/7] block: don't check bio in blk_throtl_dispatch_work_fn Ming Lei
2022-02-09 14:03 ` Christoph Hellwig
2022-02-09 9:14 ` [PATCH V2 5/7] block: throttle split bio in case of iops limit Ming Lei
2022-02-14 20:22 ` Tejun Heo
2022-02-15 1:10 ` Ming Lei
2022-02-15 7:08 ` Christoph Hellwig
2022-02-15 8:02 ` Ming Lei
2022-02-15 8:17 ` Ning Li
2022-02-15 8:20 ` Ning Li
2022-02-09 9:14 ` [PATCH V2 6/7] block: don't try to throttle split bio if iops limit isn't set Ming Lei
2022-02-09 9:14 ` [PATCH V2 7/7] block: revert 4f1e9630afe6 ("blk-throtl: optimize IOPS throttle for large IO scenarios") Ming Lei
2022-02-13 8:34 ` [PATCH V2 0/7] block: improve iops limit throttle Ming Lei
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=20220209091429.1929728-1-ming.lei@redhat.com \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=brookxu@tencent.com \
--cc=lining2020x@163.com \
--cc=linux-block@vger.kernel.org \
--cc=tj@kernel.org \
/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).