All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/7] block: improve iops limit throttle
@ 2022-01-11 11:55 Ming Lei
  2022-01-11 11:55 ` [RFC PATCH 1/7] block: move submit_bio_checks() into submit_bio_noacct Ming Lei
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Ming Lei @ 2022-01-11 11:55 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block, Li Ning, Tejun Heo, Chunguang Xu, Ming Lei

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 two patches are cleanup.

The 3rd and 4th patches add one new helper of __submit_bio_noacct() 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, you should get exact IOPS throttling in your dm-thin test with
this patchset, please test and feedback.


Ming Lei (7):
  block: move submit_bio_checks() into submit_bio_noacct
  block: move blk_crypto_bio_prep() out of blk-mq.c
  block: allow to bypass bio check before submitting bio
  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       | 32 +++++++++-------------
 block/blk-merge.c      |  2 --
 block/blk-mq.c         |  3 ---
 block/blk-throttle.c   | 61 +++++++++++++++---------------------------
 block/blk-throttle.h   | 16 ++++++-----
 include/linux/blkdev.h |  7 ++++-
 6 files changed, 51 insertions(+), 70 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2022-02-09 11:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-11 11:55 [RFC PATCH 0/7] block: improve iops limit throttle Ming Lei
2022-01-11 11:55 ` [RFC PATCH 1/7] block: move submit_bio_checks() into submit_bio_noacct Ming Lei
2022-01-17  8:20   ` Christoph Hellwig
2022-01-11 11:55 ` [RFC PATCH 2/7] block: move blk_crypto_bio_prep() out of blk-mq.c Ming Lei
2022-01-11 11:55 ` [RFC PATCH 3/7] block: allow to bypass bio check before submitting bio Ming Lei
2022-01-17  8:21   ` Christoph Hellwig
2022-02-09  8:12     ` Ming Lei
2022-02-09  8:16       ` Christoph Hellwig
2022-02-09  8:35         ` Ming Lei
2022-01-11 11:55 ` [RFC PATCH 4/7] block: don't check bio in blk_throtl_dispatch_work_fn Ming Lei
2022-01-11 11:55 ` [RFC PATCH 5/7] block: throttle split bio in case of iops limit Ming Lei
2022-01-11 11:55 ` [RFC PATCH 6/7] block: don't try to throttle split bio if iops limit isn't set Ming Lei
2022-01-11 11:55 ` [RFC PATCH 7/7] block: revert 4f1e9630afe6 ("blk-throtl: optimize IOPS throttle for large IO scenarios") Ming Lei
     [not found] ` <4666c796.5083.17e4d67bb88.Coremail.lining2020x@163.com>
     [not found]   ` <d7c6f47.2d01.17e51b058cc.Coremail.lining2020x@163.com>
2022-01-17  7:46     ` [RFC PATCH 0/7] block: improve iops limit throttle 163

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.