Lines Matching refs:bfq_group
138 static void bfqg_stats_set_start_group_wait_time(struct bfq_group *bfqg,
139 struct bfq_group *curr_bfqg)
166 void bfqg_stats_update_dequeue(struct bfq_group *bfqg)
171 void bfqg_stats_set_start_empty_time(struct bfq_group *bfqg)
190 void bfqg_stats_update_idle_time(struct bfq_group *bfqg)
204 void bfqg_stats_set_start_idle_time(struct bfq_group *bfqg)
212 void bfqg_stats_update_avg_queue_size(struct bfq_group *bfqg)
222 void bfqg_stats_update_io_add(struct bfq_group *bfqg, struct bfq_queue *bfqq,
231 void bfqg_stats_update_io_remove(struct bfq_group *bfqg, unsigned int op)
236 void bfqg_stats_update_io_merged(struct bfq_group *bfqg, unsigned int op)
241 void bfqg_stats_update_completion(struct bfq_group *bfqg, u64 start_time_ns,
257 void bfqg_stats_update_io_add(struct bfq_group *bfqg, struct bfq_queue *bfqq,
259 void bfqg_stats_update_io_remove(struct bfq_group *bfqg, unsigned int op) { }
260 void bfqg_stats_update_io_merged(struct bfq_group *bfqg, unsigned int op) { }
261 void bfqg_stats_update_completion(struct bfq_group *bfqg, u64 start_time_ns,
263 void bfqg_stats_update_dequeue(struct bfq_group *bfqg) { }
264 void bfqg_stats_set_start_empty_time(struct bfq_group *bfqg) { }
265 void bfqg_stats_update_idle_time(struct bfq_group *bfqg) { }
266 void bfqg_stats_set_start_idle_time(struct bfq_group *bfqg) { }
267 void bfqg_stats_update_avg_queue_size(struct bfq_group *bfqg) { }
279 static struct bfq_group *pd_to_bfqg(struct blkg_policy_data *pd)
281 return pd ? container_of(pd, struct bfq_group, pd) : NULL;
284 struct blkcg_gq *bfqg_to_blkg(struct bfq_group *bfqg)
289 static struct bfq_group *blkg_to_bfqg(struct blkcg_gq *blkg)
295 * bfq_group handlers
296 * The following functions help in navigating the bfq_group hierarchy
297 * by allowing to find the parent of a bfq_group or the bfq_group
301 static struct bfq_group *bfqg_parent(struct bfq_group *bfqg)
308 struct bfq_group *bfqq_group(struct bfq_queue *bfqq)
312 return group_entity ? container_of(group_entity, struct bfq_group,
318 * The following two functions handle get and put of a bfq_group by
322 static void bfqg_get(struct bfq_group *bfqg)
327 static void bfqg_put(struct bfq_group *bfqg)
335 static void bfqg_and_blkg_get(struct bfq_group *bfqg)
343 void bfqg_and_blkg_put(struct bfq_group *bfqg)
352 struct bfq_group *bfqg = blkg_to_bfqg(rq->bio->bi_blkg);
406 static void bfqg_stats_xfer_dead(struct bfq_group *bfqg)
408 struct bfq_group *parent;
424 void bfq_init_entity(struct bfq_entity *entity, struct bfq_group *bfqg)
526 struct bfq_group *bfqg;
545 struct bfq_group *bfqg = blkg_to_bfqg(blkg);
564 struct bfq_group *bfqg = pd_to_bfqg(pd);
572 struct bfq_group *bfqg = pd_to_bfqg(pd);
577 static void bfq_group_set_parent(struct bfq_group *bfqg,
578 struct bfq_group *parent)
587 static void bfq_link_bfqg(struct bfq_data *bfqd, struct bfq_group *bfqg)
589 struct bfq_group *parent;
599 struct bfq_group *curr_bfqg = container_of(entity,
600 struct bfq_group, entity);
610 struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio)
613 struct bfq_group *bfqg;
647 struct bfq_group *bfqg)
708 struct bfq_group *bfqg)
765 struct bfq_group *bfqg = bfq_bio_bfqg(bfqd, bio);
885 struct bfq_group *bfqg,
912 struct bfq_group *bfqg = pd_to_bfqg(pd);
979 struct bfq_group *bfqg = blkg_to_bfqg(blkg);
1003 struct bfq_group *bfqg = pd_to_bfqg(pd);
1021 static void bfq_group_set_weight(struct bfq_group *bfqg, u64 weight, u64 dev_weight)
1070 struct bfq_group *bfqg = blkg_to_bfqg(blkg);
1087 struct bfq_group *bfqg;
1206 struct bfq_group *bfqg = blkg_to_bfqg(pd->blkg);
1225 offsetof(struct bfq_group, stats.bytes), &tmp);
1242 struct bfq_group *bfqg = pd_to_bfqg(pd);
1264 struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node)
1308 .private = offsetof(struct bfq_group, stats.bytes),
1313 .private = offsetof(struct bfq_group, stats.ios),
1319 .private = offsetof(struct bfq_group, stats.time),
1328 .private = offsetof(struct bfq_group, stats.service_time),
1333 .private = offsetof(struct bfq_group, stats.wait_time),
1338 .private = offsetof(struct bfq_group, stats.merged),
1343 .private = offsetof(struct bfq_group, stats.queued),
1351 .private = offsetof(struct bfq_group, stats.bytes),
1356 .private = offsetof(struct bfq_group, stats.ios),
1362 .private = offsetof(struct bfq_group, stats.time),
1371 .private = offsetof(struct bfq_group, stats.service_time),
1376 .private = offsetof(struct bfq_group, stats.wait_time),
1381 .private = offsetof(struct bfq_group, stats.merged),
1386 .private = offsetof(struct bfq_group, stats.queued),
1395 .private = offsetof(struct bfq_group, stats.group_wait_time),
1400 .private = offsetof(struct bfq_group, stats.idle_time),
1405 .private = offsetof(struct bfq_group, stats.empty_time),
1410 .private = offsetof(struct bfq_group, stats.dequeue),
1430 struct bfq_group *bfqg) {}
1432 void bfq_init_entity(struct bfq_entity *entity, struct bfq_group *bfqg)
1452 struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio)
1457 struct bfq_group *bfqq_group(struct bfq_queue *bfqq)
1462 void bfqg_and_blkg_get(struct bfq_group *bfqg) {}
1464 void bfqg_and_blkg_put(struct bfq_group *bfqg) {}
1466 struct bfq_group *bfq_create_group_hierarchy(struct bfq_data *bfqd, int node)
1468 struct bfq_group *bfqg;