Lines Matching refs:qn

249 static void throtl_qnode_init(struct throtl_qnode *qn, struct throtl_grp *tg)  in throtl_qnode_init()  argument
251 INIT_LIST_HEAD(&qn->node); in throtl_qnode_init()
252 bio_list_init(&qn->bios); in throtl_qnode_init()
253 qn->tg = tg; in throtl_qnode_init()
266 static void throtl_qnode_add_bio(struct bio *bio, struct throtl_qnode *qn, in throtl_qnode_add_bio() argument
269 bio_list_add(&qn->bios, bio); in throtl_qnode_add_bio()
270 if (list_empty(&qn->node)) { in throtl_qnode_add_bio()
271 list_add_tail(&qn->node, queued); in throtl_qnode_add_bio()
272 blkg_get(tg_to_blkg(qn->tg)); in throtl_qnode_add_bio()
282 struct throtl_qnode *qn; in throtl_peek_queued() local
288 qn = list_first_entry(queued, struct throtl_qnode, node); in throtl_peek_queued()
289 bio = bio_list_peek(&qn->bios); in throtl_peek_queued()
311 struct throtl_qnode *qn; in throtl_pop_queued() local
317 qn = list_first_entry(queued, struct throtl_qnode, node); in throtl_pop_queued()
318 bio = bio_list_pop(&qn->bios); in throtl_pop_queued()
321 if (bio_list_empty(&qn->bios)) { in throtl_pop_queued()
322 list_del_init(&qn->node); in throtl_pop_queued()
324 *tg_to_put = qn->tg; in throtl_pop_queued()
326 blkg_put(tg_to_blkg(qn->tg)); in throtl_pop_queued()
328 list_move_tail(&qn->node, queued); in throtl_pop_queued()
946 static void throtl_add_bio_tg(struct bio *bio, struct throtl_qnode *qn, in throtl_add_bio_tg() argument
952 if (!qn) in throtl_add_bio_tg()
953 qn = &tg->qnode_on_self[rw]; in throtl_add_bio_tg()
964 throtl_qnode_add_bio(bio, qn, &sq->queued[rw]); in throtl_add_bio_tg()
2068 struct throtl_qnode *qn = NULL; in __blk_throtl_bio() local
2132 qn = &tg->qnode_on_parent[rw]; in __blk_throtl_bio()
2150 throtl_add_bio_tg(bio, qn, tg); in __blk_throtl_bio()