Lines Matching refs:blkg

183 static inline struct iolatency_grp *blkg_to_lat(struct blkcg_gq *blkg)  in blkg_to_lat()  argument
185 return pd_to_lat(blkg_to_pd(blkg, &blkcg_policy_iolatency)); in blkg_to_lat()
464 struct blkcg_gq *blkg = bio->bi_blkg; in blkcg_iolatency_throttle() local
470 while (blkg && blkg->parent) { in blkcg_iolatency_throttle()
471 struct iolatency_grp *iolat = blkg_to_lat(blkg); in blkcg_iolatency_throttle()
473 blkg = blkg->parent; in blkcg_iolatency_throttle()
480 blkg = blkg->parent; in blkcg_iolatency_throttle()
523 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_check_latencies() local
540 parent = blkg_to_lat(blkg->parent); in iolatency_check_latencies()
591 struct blkcg_gq *blkg; in blkcg_iolatency_done_bio() local
600 blkg = bio->bi_blkg; in blkcg_iolatency_done_bio()
601 if (!blkg || !bio_flagged(bio, BIO_TRACKED)) in blkcg_iolatency_done_bio()
613 while (blkg && blkg->parent) { in blkcg_iolatency_done_bio()
614 iolat = blkg_to_lat(blkg); in blkcg_iolatency_done_bio()
616 blkg = blkg->parent; in blkcg_iolatency_done_bio()
639 blkg = blkg->parent; in blkcg_iolatency_done_bio()
661 struct blkcg_gq *blkg; in blkiolatency_timer_fn() local
666 blkg_for_each_descendant_pre(blkg, pos_css, in blkiolatency_timer_fn()
677 if (!blkg_tryget(blkg)) in blkiolatency_timer_fn()
680 iolat = blkg_to_lat(blkg); in blkiolatency_timer_fn()
714 blkg_put(blkg); in blkiolatency_timer_fn()
752 static int iolatency_set_min_lat_nsec(struct blkcg_gq *blkg, u64 val) in iolatency_set_min_lat_nsec() argument
754 struct iolatency_grp *iolat = blkg_to_lat(blkg); in iolatency_set_min_lat_nsec()
765 blkcg_clear_delay(blkg); in iolatency_set_min_lat_nsec()
771 static void iolatency_clear_scaling(struct blkcg_gq *blkg) in iolatency_clear_scaling() argument
773 if (blkg->parent) { in iolatency_clear_scaling()
774 struct iolatency_grp *iolat = blkg_to_lat(blkg->parent); in iolatency_clear_scaling()
793 struct blkcg_gq *blkg; in iolatency_set_limit() local
806 iolat = blkg_to_lat(ctx.blkg); in iolatency_set_limit()
832 blkg = ctx.blkg; in iolatency_set_limit()
835 enable = iolatency_set_min_lat_nsec(blkg, lat_val); in iolatency_set_limit()
837 if (!blk_get_queue(blkg->q)) { in iolatency_set_limit()
842 blkg_get(blkg); in iolatency_set_limit()
846 iolatency_clear_scaling(blkg); in iolatency_set_limit()
853 struct iolatency_grp *tmp = blkg_to_lat(blkg); in iolatency_set_limit()
856 blk_mq_freeze_queue(blkg->q); in iolatency_set_limit()
865 blk_mq_unfreeze_queue(blkg->q); in iolatency_set_limit()
867 blkg_put(blkg); in iolatency_set_limit()
868 blk_put_queue(blkg->q); in iolatency_set_limit()
877 const char *dname = blkg_dev_name(pd->blkg); in iolatency_prfill_limit()
964 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_pd_init() local
965 struct rq_qos *rqos = blkcg_rq_qos(blkg->q); in iolatency_pd_init()
970 if (blk_queue_nonrot(blkg->q)) in iolatency_pd_init()
984 iolat->rq_depth.queue_depth = blkg->q->nr_requests; in iolatency_pd_init()
995 if (blkg->parent && blkg_to_pd(blkg->parent, &blkcg_policy_iolatency)) { in iolatency_pd_init()
996 struct iolatency_grp *parent = blkg_to_lat(blkg->parent); in iolatency_pd_init()
1009 struct blkcg_gq *blkg = lat_to_blkg(iolat); in iolatency_pd_offline() local
1013 ret = iolatency_set_min_lat_nsec(blkg, 0); in iolatency_pd_offline()
1018 iolatency_clear_scaling(blkg); in iolatency_pd_offline()