blk-rq-qos.h (c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2) blk-rq-qos.h (d3e65ffff61c329fb2d0bf15736c440c2d0cfc97)
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef RQ_QOS_H
3#define RQ_QOS_H
4
5#include <linux/kernel.h>
6#include <linux/blkdev.h>
7#include <linux/blk_types.h>
8#include <linux/atomic.h>

--- 21 unchanged lines hidden (view full) ---

30#ifdef CONFIG_BLK_DEBUG_FS
31 struct dentry *debugfs_dir;
32#endif
33};
34
35struct rq_qos_ops {
36 void (*throttle)(struct rq_qos *, struct bio *);
37 void (*track)(struct rq_qos *, struct request *, struct bio *);
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef RQ_QOS_H
3#define RQ_QOS_H
4
5#include <linux/kernel.h>
6#include <linux/blkdev.h>
7#include <linux/blk_types.h>
8#include <linux/atomic.h>

--- 21 unchanged lines hidden (view full) ---

30#ifdef CONFIG_BLK_DEBUG_FS
31 struct dentry *debugfs_dir;
32#endif
33};
34
35struct rq_qos_ops {
36 void (*throttle)(struct rq_qos *, struct bio *);
37 void (*track)(struct rq_qos *, struct request *, struct bio *);
38 void (*merge)(struct rq_qos *, struct request *, struct bio *);
38 void (*issue)(struct rq_qos *, struct request *);
39 void (*requeue)(struct rq_qos *, struct request *);
40 void (*done)(struct rq_qos *, struct request *);
41 void (*done_bio)(struct rq_qos *, struct bio *);
42 void (*cleanup)(struct rq_qos *, struct bio *);
43 void (*exit)(struct rq_qos *);
44 const struct blk_mq_debugfs_attr *debugfs_attrs;
45};

--- 84 unchanged lines hidden (view full) ---

130bool rq_depth_calc_max_depth(struct rq_depth *rqd);
131
132void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio);
133void __rq_qos_done(struct rq_qos *rqos, struct request *rq);
134void __rq_qos_issue(struct rq_qos *rqos, struct request *rq);
135void __rq_qos_requeue(struct rq_qos *rqos, struct request *rq);
136void __rq_qos_throttle(struct rq_qos *rqos, struct bio *bio);
137void __rq_qos_track(struct rq_qos *rqos, struct request *rq, struct bio *bio);
39 void (*issue)(struct rq_qos *, struct request *);
40 void (*requeue)(struct rq_qos *, struct request *);
41 void (*done)(struct rq_qos *, struct request *);
42 void (*done_bio)(struct rq_qos *, struct bio *);
43 void (*cleanup)(struct rq_qos *, struct bio *);
44 void (*exit)(struct rq_qos *);
45 const struct blk_mq_debugfs_attr *debugfs_attrs;
46};

--- 84 unchanged lines hidden (view full) ---

131bool rq_depth_calc_max_depth(struct rq_depth *rqd);
132
133void __rq_qos_cleanup(struct rq_qos *rqos, struct bio *bio);
134void __rq_qos_done(struct rq_qos *rqos, struct request *rq);
135void __rq_qos_issue(struct rq_qos *rqos, struct request *rq);
136void __rq_qos_requeue(struct rq_qos *rqos, struct request *rq);
137void __rq_qos_throttle(struct rq_qos *rqos, struct bio *bio);
138void __rq_qos_track(struct rq_qos *rqos, struct request *rq, struct bio *bio);
139void __rq_qos_merge(struct rq_qos *rqos, struct request *rq, struct bio *bio);
138void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio);
139
140static inline void rq_qos_cleanup(struct request_queue *q, struct bio *bio)
141{
142 if (q->rq_qos)
143 __rq_qos_cleanup(q->rq_qos, bio);
144}
145

--- 34 unchanged lines hidden (view full) ---

180
181static inline void rq_qos_track(struct request_queue *q, struct request *rq,
182 struct bio *bio)
183{
184 if (q->rq_qos)
185 __rq_qos_track(q->rq_qos, rq, bio);
186}
187
140void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio);
141
142static inline void rq_qos_cleanup(struct request_queue *q, struct bio *bio)
143{
144 if (q->rq_qos)
145 __rq_qos_cleanup(q->rq_qos, bio);
146}
147

--- 34 unchanged lines hidden (view full) ---

182
183static inline void rq_qos_track(struct request_queue *q, struct request *rq,
184 struct bio *bio)
185{
186 if (q->rq_qos)
187 __rq_qos_track(q->rq_qos, rq, bio);
188}
189
190static inline void rq_qos_merge(struct request_queue *q, struct request *rq,
191 struct bio *bio)
192{
193 if (q->rq_qos)
194 __rq_qos_merge(q->rq_qos, rq, bio);
195}
196
188void rq_qos_exit(struct request_queue *);
189
190#endif
197void rq_qos_exit(struct request_queue *);
198
199#endif