Lines Matching defs:blkiolat
142 struct blk_iolatency *blkiolat;
328 static void scale_cookie_change(struct blk_iolatency *blkiolat,
332 unsigned long qd = blkiolat->rqos.q->nr_requests;
372 unsigned long qd = iolat->blkiolat->rqos.q->nr_requests;
467 struct blk_iolatency *blkiolat = BLKIOLATENCY(rqos);
471 if (!blkiolat->enabled)
486 if (!timer_pending(&blkiolat->timer))
487 mod_timer(&blkiolat->timer, jiffies + HZ);
576 scale_cookie_change(iolat->blkiolat, lat_info, true);
586 scale_cookie_change(iolat->blkiolat, lat_info, false);
611 if (!iolat->blkiolat->enabled)
647 struct blk_iolatency *blkiolat = BLKIOLATENCY(rqos);
649 del_timer_sync(&blkiolat->timer);
650 flush_work(&blkiolat->enable_work);
652 kfree(blkiolat);
663 struct blk_iolatency *blkiolat = from_timer(blkiolat, t, timer);
670 blkiolat->rqos.q->root_blkg) {
702 scale_cookie_change(iolat->blkiolat, lat_info, true);
739 struct blk_iolatency *blkiolat = container_of(work, struct blk_iolatency,
744 * There can only be one instance of this function running for @blkiolat
749 * Also, we know @blkiolat is safe to access as ->enable_work is flushed
752 enabled = atomic_read(&blkiolat->enable_cnt);
753 if (enabled != blkiolat->enabled) {
754 blk_mq_freeze_queue(blkiolat->rqos.q);
755 blkiolat->enabled = enabled;
756 blk_mq_unfreeze_queue(blkiolat->rqos.q);
762 struct blk_iolatency *blkiolat;
766 blkiolat = kzalloc(sizeof(*blkiolat), GFP_KERNEL);
767 if (!blkiolat)
770 rqos = &blkiolat->rqos;
780 kfree(blkiolat);
784 timer_setup(&blkiolat->timer, blkiolatency_timer_fn, 0);
785 INIT_WORK(&blkiolat->enable_work, blkiolatency_enable_work_fn);
793 struct blk_iolatency *blkiolat = iolat->blkiolat;
802 if (atomic_inc_return(&blkiolat->enable_cnt) == 1)
803 schedule_work(&blkiolat->enable_work);
807 if (atomic_dec_return(&blkiolat->enable_cnt) == 0)
808 schedule_work(&blkiolat->enable_work);
977 struct blk_iolatency *blkiolat = BLKIOLATENCY(rqos);
998 iolat->blkiolat = blkiolat;