Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/block/blk-mq-debugfs.h
26242 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef INT_BLK_MQ_DEBUGFS_H
3
#define INT_BLK_MQ_DEBUGFS_H
4
5
#ifdef CONFIG_BLK_DEBUG_FS
6
7
#include <linux/seq_file.h>
8
9
struct blk_mq_hw_ctx;
10
11
struct blk_mq_debugfs_attr {
12
const char *name;
13
umode_t mode;
14
int (*show)(void *, struct seq_file *);
15
ssize_t (*write)(void *, const char __user *, size_t, loff_t *);
16
/* Set either .show or .seq_ops. */
17
const struct seq_operations *seq_ops;
18
};
19
20
int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq);
21
int blk_mq_debugfs_rq_show(struct seq_file *m, void *v);
22
23
void blk_mq_debugfs_register(struct request_queue *q);
24
void blk_mq_debugfs_register_hctx(struct request_queue *q,
25
struct blk_mq_hw_ctx *hctx);
26
void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx);
27
void blk_mq_debugfs_register_hctxs(struct request_queue *q);
28
void blk_mq_debugfs_unregister_hctxs(struct request_queue *q);
29
30
void blk_mq_debugfs_register_sched(struct request_queue *q);
31
void blk_mq_debugfs_unregister_sched(struct request_queue *q);
32
void blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
33
struct blk_mq_hw_ctx *hctx);
34
void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx);
35
36
void blk_mq_debugfs_register_rqos(struct rq_qos *rqos);
37
void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos);
38
#else
39
static inline void blk_mq_debugfs_register(struct request_queue *q)
40
{
41
}
42
43
static inline void blk_mq_debugfs_register_hctx(struct request_queue *q,
44
struct blk_mq_hw_ctx *hctx)
45
{
46
}
47
48
static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx)
49
{
50
}
51
52
static inline void blk_mq_debugfs_register_hctxs(struct request_queue *q)
53
{
54
}
55
56
static inline void blk_mq_debugfs_unregister_hctxs(struct request_queue *q)
57
{
58
}
59
60
static inline void blk_mq_debugfs_register_sched(struct request_queue *q)
61
{
62
}
63
64
static inline void blk_mq_debugfs_unregister_sched(struct request_queue *q)
65
{
66
}
67
68
static inline void blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
69
struct blk_mq_hw_ctx *hctx)
70
{
71
}
72
73
static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)
74
{
75
}
76
77
static inline void blk_mq_debugfs_register_rqos(struct rq_qos *rqos)
78
{
79
}
80
81
static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
82
{
83
}
84
#endif
85
86
#if defined(CONFIG_BLK_DEV_ZONED) && defined(CONFIG_BLK_DEBUG_FS)
87
int queue_zone_wplugs_show(void *data, struct seq_file *m);
88
#else
89
static inline int queue_zone_wplugs_show(void *data, struct seq_file *m)
90
{
91
return 0;
92
}
93
#endif
94
95
#endif
96
97