Lines Matching refs:blkg

182 static inline struct iolatency_grp *blkg_to_lat(struct blkcg_gq *blkg)  in blkg_to_lat()  argument
184 return pd_to_lat(blkg_to_pd(blkg, &blkcg_policy_iolatency)); in blkg_to_lat()
463 struct blkcg_gq *blkg = bio->bi_blkg; in blkcg_iolatency_throttle() local
469 while (blkg && blkg->parent) { in blkcg_iolatency_throttle()
470 struct iolatency_grp *iolat = blkg_to_lat(blkg); in blkcg_iolatency_throttle()
472 blkg = blkg->parent; in blkcg_iolatency_throttle()
479 blkg = blkg->parent; in blkcg_iolatency_throttle()
522 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_check_latencies() local
539 parent = blkg_to_lat(blkg->parent); in iolatency_check_latencies()
590 struct blkcg_gq *blkg; in blkcg_iolatency_done_bio() local
599 blkg = bio->bi_blkg; in blkcg_iolatency_done_bio()
600 if (!blkg || !bio_flagged(bio, BIO_TRACKED)) in blkcg_iolatency_done_bio()
612 while (blkg && blkg->parent) { in blkcg_iolatency_done_bio()
613 iolat = blkg_to_lat(blkg); in blkcg_iolatency_done_bio()
615 blkg = blkg->parent; in blkcg_iolatency_done_bio()
638 blkg = blkg->parent; in blkcg_iolatency_done_bio()
660 struct blkcg_gq *blkg; in blkiolatency_timer_fn() local
665 blkg_for_each_descendant_pre(blkg, pos_css, in blkiolatency_timer_fn()
676 if (!blkg_tryget(blkg)) in blkiolatency_timer_fn()
679 iolat = blkg_to_lat(blkg); in blkiolatency_timer_fn()
713 blkg_put(blkg); in blkiolatency_timer_fn()
751 static int iolatency_set_min_lat_nsec(struct blkcg_gq *blkg, u64 val) in iolatency_set_min_lat_nsec() argument
753 struct iolatency_grp *iolat = blkg_to_lat(blkg); in iolatency_set_min_lat_nsec()
764 blkcg_clear_delay(blkg); in iolatency_set_min_lat_nsec()
770 static void iolatency_clear_scaling(struct blkcg_gq *blkg) in iolatency_clear_scaling() argument
772 if (blkg->parent) { in iolatency_clear_scaling()
773 struct iolatency_grp *iolat = blkg_to_lat(blkg->parent); in iolatency_clear_scaling()
792 struct blkcg_gq *blkg; in iolatency_set_limit() local
805 iolat = blkg_to_lat(ctx.blkg); in iolatency_set_limit()
831 blkg = ctx.blkg; in iolatency_set_limit()
834 enable = iolatency_set_min_lat_nsec(blkg, lat_val); in iolatency_set_limit()
836 if (!blk_get_queue(blkg->q)) { in iolatency_set_limit()
841 blkg_get(blkg); in iolatency_set_limit()
845 iolatency_clear_scaling(blkg); in iolatency_set_limit()
852 struct iolatency_grp *tmp = blkg_to_lat(blkg); in iolatency_set_limit()
855 blk_mq_freeze_queue(blkg->q); in iolatency_set_limit()
864 blk_mq_unfreeze_queue(blkg->q); in iolatency_set_limit()
866 blkg_put(blkg); in iolatency_set_limit()
867 blk_put_queue(blkg->q); in iolatency_set_limit()
876 const char *dname = blkg_dev_name(pd->blkg); in iolatency_prfill_limit()
963 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_pd_init() local
964 struct rq_qos *rqos = blkcg_rq_qos(blkg->q); in iolatency_pd_init()
969 if (blk_queue_nonrot(blkg->q)) in iolatency_pd_init()
983 iolat->rq_depth.queue_depth = blkg->q->nr_requests; in iolatency_pd_init()
994 if (blkg->parent && blkg_to_pd(blkg->parent, &blkcg_policy_iolatency)) { in iolatency_pd_init()
995 struct iolatency_grp *parent = blkg_to_lat(blkg->parent); in iolatency_pd_init()
1008 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_pd_offline() local
1012 ret = iolatency_set_min_lat_nsec(blkg, 0); in iolatency_pd_offline()
1017 iolatency_clear_scaling(blkg); in iolatency_pd_offline()