Lines Matching defs:rq_qos
27 struct rq_qos {
31 struct rq_qos *next;
38 void (*throttle)(struct rq_qos *, struct bio *);
39 void (*track)(struct rq_qos *, struct request *, struct bio *);
40 void (*merge)(struct rq_qos *, struct request *, struct bio *);
41 void (*issue)(struct rq_qos *, struct request *);
42 void (*requeue)(struct rq_qos *, struct request *);
43 void (*done)(struct rq_qos *, struct request *);
44 void (*done_bio)(struct rq_qos *, struct bio *);
45 void (*cleanup)(struct rq_qos *, struct bio *);
46 void (*queue_depth_changed)(struct rq_qos *);
47 void (*exit)(struct rq_qos *);
61 static inline struct rq_qos *rq_qos_id(struct request_queue *q,
64 struct rq_qos *rqos;
65 for (rqos = q->rq_qos; rqos; rqos = rqos->next) {
72 static inline struct rq_qos *wbt_rq_qos(struct request_queue *q)
77 static inline struct rq_qos *blkcg_rq_qos(struct request_queue *q)
101 static inline void rq_qos_add(struct request_queue *q, struct rq_qos *rqos)
105 * is fine since we only support rq_qos for blk-mq queue.
108 * rq_qos adding/deleting
113 rqos->next = q->rq_qos;
114 q->rq_qos = rqos;
123 static inline void rq_qos_del(struct request_queue *q, struct rq_qos *rqos)
125 struct rq_qos **cur;
134 for (cur = &q->rq_qos; *cur; cur = &(*cur)->next) {
158 void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio);
159 void __rq_qos_done(struct rq_qos *rqos, struct request *rq);
160 void __rq_qos_issue(struct rq_qos *rqos, struct request *rq);
161 void __rq_qos_requeue(struct rq_qos *rqos, struct request *rq);
162 void __rq_qos_throttle(struct rq_qos *rqos, struct bio *bio);
163 void __rq_qos_track(struct rq_qos *rqos, struct request *rq, struct bio *bio);
164 void __rq_qos_merge(struct rq_qos *rqos, struct request *rq, struct bio *bio);
165 void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio);
166 void __rq_qos_queue_depth_changed(struct rq_qos *rqos);
170 if (q->rq_qos)
171 __rq_qos_cleanup(q->rq_qos, bio);
176 if (q->rq_qos)
177 __rq_qos_done(q->rq_qos, rq);
182 if (q->rq_qos)
183 __rq_qos_issue(q->rq_qos, rq);
188 if (q->rq_qos)
189 __rq_qos_requeue(q->rq_qos, rq);
194 if (q->rq_qos)
195 __rq_qos_done_bio(q->rq_qos, bio);
202 * normal rq_qos path.
205 if (q->rq_qos)
206 __rq_qos_throttle(q->rq_qos, bio);
212 if (q->rq_qos)
213 __rq_qos_track(q->rq_qos, rq, bio);
219 if (q->rq_qos)
220 __rq_qos_merge(q->rq_qos, rq, bio);
225 if (q->rq_qos)
226 __rq_qos_queue_depth_changed(q->rq_qos);