On Wed, Feb 09, 2022 at 05:14:22PM +0800, Ming Lei wrote: > 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") Hello Tejun, Chunguang and guys, Can you give an review on this patchset? Especially the last 4 changes on blk-throtl? Thanks, Ming