/block/ |
D | blk-rq-qos.c | 32 void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio) in __rq_qos_cleanup() argument 35 if (rqos->ops->cleanup) in __rq_qos_cleanup() 36 rqos->ops->cleanup(rqos, bio); in __rq_qos_cleanup() 37 rqos = rqos->next; in __rq_qos_cleanup() 38 } while (rqos); in __rq_qos_cleanup() 41 void __rq_qos_done(struct rq_qos *rqos, struct request *rq) in __rq_qos_done() argument 44 if (rqos->ops->done) in __rq_qos_done() 45 rqos->ops->done(rqos, rq); in __rq_qos_done() 46 rqos = rqos->next; in __rq_qos_done() 47 } while (rqos); in __rq_qos_done() [all …]
|
D | blk-wbt.c | 100 struct bdi_writeback *wb = &rwb->rqos.q->disk->bdi->wb; in wb_recent_wait() 170 static void __wbt_done(struct rq_qos *rqos, enum wbt_flags wb_acct) in __wbt_done() argument 172 struct rq_wb *rwb = RQWB(rqos); in __wbt_done() 186 static void wbt_done(struct rq_qos *rqos, struct request *rq) in wbt_done() argument 188 struct rq_wb *rwb = RQWB(rqos); in wbt_done() 200 __wbt_done(rqos, wbt_flags(rq)); in wbt_done() 237 struct backing_dev_info *bdi = rwb->rqos.q->disk->bdi; in latency_exceeded() 290 struct backing_dev_info *bdi = rwb->rqos.q->disk->bdi; in rwb_trace_step() 360 if (!rwb->rqos.q->disk) in wb_timer_fn() 365 trace_wbt_timer(rwb->rqos.q->disk->bdi, status, rqd->scale_step, in wb_timer_fn() [all …]
|
D | blk-rq-qos.h | 65 struct rq_qos *rqos; in rq_qos_id() local 66 for (rqos = q->rq_qos; rqos; rqos = rqos->next) { in rq_qos_id() 67 if (rqos->id == id) in rq_qos_id() 70 return rqos; in rq_qos_id() 89 static inline int rq_qos_add(struct request_queue *q, struct rq_qos *rqos) in rq_qos_add() argument 101 if (rq_qos_id(q, rqos->id)) in rq_qos_add() 103 rqos->next = q->rq_qos; in rq_qos_add() 104 q->rq_qos = rqos; in rq_qos_add() 109 if (rqos->ops->debugfs_attrs) in rq_qos_add() 110 blk_mq_debugfs_register_rqos(rqos); in rq_qos_add() [all …]
|
D | blk-ioprio.c | 186 struct rq_qos rqos; member 189 static void blkcg_ioprio_track(struct rq_qos *rqos, struct request *rq, in blkcg_ioprio_track() argument 206 static void blkcg_ioprio_exit(struct rq_qos *rqos) in blkcg_ioprio_exit() argument 209 container_of(rqos, typeof(*blkioprio_blkg), rqos); in blkcg_ioprio_exit() 211 blkcg_deactivate_policy(rqos->q, &ioprio_policy); in blkcg_ioprio_exit() 223 struct rq_qos *rqos; in blk_ioprio_init() local 236 rqos = &blkioprio_blkg->rqos; in blk_ioprio_init() 237 rqos->id = RQ_QOS_IOPRIO; in blk_ioprio_init() 238 rqos->ops = &blkcg_ioprio_ops; in blk_ioprio_init() 239 rqos->q = q; in blk_ioprio_init() [all …]
|
D | blk-iolatency.c | 87 struct rq_qos rqos; member 102 static inline struct blk_iolatency *BLKIOLATENCY(struct rq_qos *rqos) in BLKIOLATENCY() argument 104 return container_of(rqos, struct blk_iolatency, rqos); in BLKIOLATENCY() 285 static void __blkcg_iolatency_throttle(struct rq_qos *rqos, in __blkcg_iolatency_throttle() argument 294 blkcg_schedule_throttle(rqos->q, use_memdelay); in __blkcg_iolatency_throttle() 332 unsigned long qd = blkiolat->rqos.q->nr_requests; in scale_cookie_change() 372 unsigned long qd = iolat->blkiolat->rqos.q->nr_requests; in scale_change() 465 static void blkcg_iolatency_throttle(struct rq_qos *rqos, struct bio *bio) in blkcg_iolatency_throttle() argument 467 struct blk_iolatency *blkiolat = BLKIOLATENCY(rqos); in blkcg_iolatency_throttle() 482 __blkcg_iolatency_throttle(rqos, iolat, issue_as_root, in blkcg_iolatency_throttle() [all …]
|
D | blk-wbt.h | 68 struct rq_qos rqos; member 73 static inline struct rq_wb *RQWB(struct rq_qos *rqos) in RQWB() argument 75 return container_of(rqos, struct rq_wb, rqos); in RQWB()
|
D | blk-mq-debugfs.h | 37 void blk_mq_debugfs_register_rqos(struct rq_qos *rqos); 38 void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos); 87 static inline void blk_mq_debugfs_register_rqos(struct rq_qos *rqos) in blk_mq_debugfs_register_rqos() argument 91 static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos) in blk_mq_debugfs_unregister_rqos() argument
|
D | blk-mq-debugfs.c | 849 struct rq_qos *rqos = q->rq_qos; in blk_mq_debugfs_register() local 851 while (rqos) { in blk_mq_debugfs_register() 852 blk_mq_debugfs_register_rqos(rqos); in blk_mq_debugfs_register() 853 rqos = rqos->next; in blk_mq_debugfs_register() 959 void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos) in blk_mq_debugfs_unregister_rqos() argument 961 debugfs_remove_recursive(rqos->debugfs_dir); in blk_mq_debugfs_unregister_rqos() 962 rqos->debugfs_dir = NULL; in blk_mq_debugfs_unregister_rqos() 965 void blk_mq_debugfs_register_rqos(struct rq_qos *rqos) in blk_mq_debugfs_register_rqos() argument 967 struct request_queue *q = rqos->q; in blk_mq_debugfs_register_rqos() 968 const char *dir_name = rq_qos_id_to_name(rqos->id); in blk_mq_debugfs_register_rqos() [all …]
|
D | blk-iocost.c | 407 struct rq_qos rqos; member 662 static struct ioc *rqos_to_ioc(struct rq_qos *rqos) in rqos_to_ioc() argument 664 return container_of(rqos, struct ioc, rqos); in rqos_to_ioc() 682 return q_name(ioc->rqos.q); in ioc_name() 817 if (!blk_queue_nonrot(ioc->rqos.q)) in ioc_autop_idx() 821 if (blk_queue_depth(ioc->rqos.q) == 1) in ioc_autop_idx() 2584 static void ioc_rqos_throttle(struct rq_qos *rqos, struct bio *bio) in ioc_rqos_throttle() argument 2587 struct ioc *ioc = rqos_to_ioc(rqos); in ioc_rqos_throttle() 2667 blkcg_schedule_throttle(rqos->q, in ioc_rqos_throttle() 2719 static void ioc_rqos_merge(struct rq_qos *rqos, struct request *rq, in ioc_rqos_merge() argument [all …]
|
D | blk-sysfs.c | 488 struct rq_qos *rqos; in queue_wb_lat_store() local 498 rqos = wbt_rq_qos(q); in queue_wb_lat_store() 499 if (!rqos) { in queue_wb_lat_store()
|