On Wed, Sep 21, 2022 at 05:53:08PM +0800, Yu Kuai wrote: > From: Yu Kuai <yukuai3@xxxxxxxxxx> > > Currently, "tg->has_rules" and "tg->flags & THROTL_TG_HAS_IOPS_LIMIT" > both try to bypass bios that don't need to be throttled, however, they are > a little redundant and both not perfect: > > 1) "tg->has_rules" only distinguish read and write, but not iops and bps > limit. > 2) "tg->flags & THROTL_TG_HAS_IOPS_LIMIT" only check if iops limit > exist, read and write is not distinguished, and bps limit is not > checked. > > tg->has_rules will extended to distinguish bps and iops in the following > patch. There is no need to keep the flag. > > Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> > @@ -183,11 +182,6 @@ static inline bool blk_throtl_bio(struct bio *bio) > { > struct throtl_grp *tg = blkg_to_tg(bio->bi_blkg); > > - /* no need to throttle bps any more if the bio has been throttled */ > - if (bio_flagged(bio, BIO_BPS_THROTTLED) && > - !(tg->flags & THROTL_TG_HAS_IOPS_LIMIT)) > - return false; > - This temporary removal would break the double accounting until the next patch, right? That might be worth noting but this looks like an okay way to go about it. Thanks. -- tejun