linux/block/blk-mq-debugfs.h
<<
>>
Prefs
   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
   9struct blk_mq_debugfs_attr {
  10        const char *name;
  11        umode_t mode;
  12        int (*show)(void *, struct seq_file *);
  13        ssize_t (*write)(void *, const char __user *, size_t, loff_t *);
  14        /* Set either .show or .seq_ops. */
  15        const struct seq_operations *seq_ops;
  16};
  17
  18int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq);
  19int blk_mq_debugfs_rq_show(struct seq_file *m, void *v);
  20
  21void blk_mq_debugfs_register(struct request_queue *q);
  22void blk_mq_debugfs_unregister(struct request_queue *q);
  23void blk_mq_debugfs_register_hctx(struct request_queue *q,
  24                                  struct blk_mq_hw_ctx *hctx);
  25void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx);
  26void blk_mq_debugfs_register_hctxs(struct request_queue *q);
  27void blk_mq_debugfs_unregister_hctxs(struct request_queue *q);
  28
  29void blk_mq_debugfs_register_sched(struct request_queue *q);
  30void blk_mq_debugfs_unregister_sched(struct request_queue *q);
  31void blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
  32                                       struct blk_mq_hw_ctx *hctx);
  33void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx);
  34
  35void blk_mq_debugfs_register_rqos(struct rq_qos *rqos);
  36void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos);
  37void blk_mq_debugfs_unregister_queue_rqos(struct request_queue *q);
  38#else
  39static inline void blk_mq_debugfs_register(struct request_queue *q)
  40{
  41}
  42
  43static inline void blk_mq_debugfs_unregister(struct request_queue *q)
  44{
  45}
  46
  47static inline void blk_mq_debugfs_register_hctx(struct request_queue *q,
  48                                                struct blk_mq_hw_ctx *hctx)
  49{
  50}
  51
  52static inline void blk_mq_debugfs_unregister_hctx(struct blk_mq_hw_ctx *hctx)
  53{
  54}
  55
  56static inline void blk_mq_debugfs_register_hctxs(struct request_queue *q)
  57{
  58}
  59
  60static inline void blk_mq_debugfs_unregister_hctxs(struct request_queue *q)
  61{
  62}
  63
  64static inline void blk_mq_debugfs_register_sched(struct request_queue *q)
  65{
  66}
  67
  68static inline void blk_mq_debugfs_unregister_sched(struct request_queue *q)
  69{
  70}
  71
  72static inline void blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
  73                                                      struct blk_mq_hw_ctx *hctx)
  74{
  75}
  76
  77static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)
  78{
  79}
  80
  81static inline void blk_mq_debugfs_register_rqos(struct rq_qos *rqos)
  82{
  83}
  84
  85static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
  86{
  87}
  88
  89static inline void blk_mq_debugfs_unregister_queue_rqos(struct request_queue *q)
  90{
  91}
  92#endif
  93
  94#ifdef CONFIG_BLK_DEBUG_FS_ZONED
  95int queue_zone_wlock_show(void *data, struct seq_file *m);
  96#else
  97static inline int queue_zone_wlock_show(void *data, struct seq_file *m)
  98{
  99        return 0;
 100}
 101#endif
 102
 103#endif
 104