Lines Matching defs:bio
106 * fill up and a bio which is ready to be issued has to wait for a request
571 struct bio *bio;
725 static void iocg_commit_bio(struct ioc_gq *iocg, struct bio *bio,
730 bio->bi_iocost_cost = cost;
1412 iocg_commit_bio(ctx->iocg, wait->bio, wait->abs_cost, cost);
2488 static void calc_vtime_cost_builtin(struct bio *bio, struct ioc_gq *iocg,
2493 u64 pages = max_t(u64, bio_sectors(bio) >> IOC_SECT_TO_PAGE_SHIFT, 1);
2497 switch (bio_op(bio)) {
2513 seek_pages = abs(bio->bi_iter.bi_sector - iocg->cursor);
2529 static u64 calc_vtime_cost(struct bio *bio, struct ioc_gq *iocg, bool is_merge)
2533 calc_vtime_cost_builtin(bio, iocg, is_merge, &cost);
2562 static void ioc_rqos_throttle(struct rq_qos *rqos, struct bio *bio)
2564 struct blkcg_gq *blkg = bio->bi_blkg;
2578 abs_cost = calc_vtime_cost(bio, iocg, false);
2585 iocg->cursor = bio_end_sector(bio);
2596 iocg_commit_bio(iocg, bio, abs_cost, cost);
2607 use_debt = bio_issue_as_root_blkg(bio) || fatal_signal_pending(current);
2621 iocg_commit_bio(iocg, bio, abs_cost, cost);
2626 * We're over budget. If @bio has to be issued regardless, remember
2646 (bio->bi_opf & REQ_SWAP) == REQ_SWAP);
2677 wait.bio = bio;
2698 struct bio *bio)
2700 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg);
2702 sector_t bio_end = bio_end_sector(bio);
2711 abs_cost = calc_vtime_cost(bio, iocg, true);
2729 if (rq->bio && rq->bio->bi_iocost_cost &&
2731 iocg_commit_bio(iocg, bio, abs_cost, cost);
2747 (bio->bi_opf & REQ_SWAP) == REQ_SWAP);
2749 iocg_commit_bio(iocg, bio, abs_cost, cost);
2756 static void ioc_rqos_done_bio(struct rq_qos *rqos, struct bio *bio)
2758 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg);
2760 if (iocg && bio->bi_iocost_cost)
2761 atomic64_add(bio->bi_iocost_cost, &iocg->done_vtime);
2889 * target bio has an iocg associated and need to test for NULL iocg.