summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-debugfs.h
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2018-12-17 09:46:00 +0800
committerJens Axboe <axboe@kernel.dk>2018-12-16 19:53:47 -0700
commitcc56694f132a8f5fa9334e3afe990de8c3378866 (patch)
treec67715ced5609fdcd34e95c3dcc24e6bc8ae494a /block/blk-mq-debugfs.h
parentf9824952ee1cd02ae1a74e35e0e8653f8a4db772 (diff)
downloadlinux-stable-cc56694f132a8f5fa9334e3afe990de8c3378866.tar.gz
linux-stable-cc56694f132a8f5fa9334e3afe990de8c3378866.tar.bz2
linux-stable-cc56694f132a8f5fa9334e3afe990de8c3378866.zip
blk-mq-debugfs: support rq_qos
blk-mq-debugfs has been proved as very helpful for debug some tough issues, such as IO hang. We have seen blk-wbt related IO hang several times, even inside Red Hat BZ, there is such report not sovled yet, so this patch adds support debugfs on rq_qos. Cc: Bart Van Assche <bart.vanassche@wdc.com> Cc: Omar Sandoval <osandov@fb.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq-debugfs.h')
-rw-r--r--block/blk-mq-debugfs.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/block/blk-mq-debugfs.h b/block/blk-mq-debugfs.h
index a9160be12be0..8c9012a578c1 100644
--- a/block/blk-mq-debugfs.h
+++ b/block/blk-mq-debugfs.h
@@ -31,6 +31,10 @@ void blk_mq_debugfs_unregister_sched(struct request_queue *q);
int blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
struct blk_mq_hw_ctx *hctx);
void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx);
+
+int blk_mq_debugfs_register_rqos(struct rq_qos *rqos);
+void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos);
+void blk_mq_debugfs_unregister_queue_rqos(struct request_queue *q);
#else
static inline int blk_mq_debugfs_register(struct request_queue *q)
{
@@ -78,6 +82,19 @@ static inline int blk_mq_debugfs_register_sched_hctx(struct request_queue *q,
static inline void blk_mq_debugfs_unregister_sched_hctx(struct blk_mq_hw_ctx *hctx)
{
}
+
+static inline int blk_mq_debugfs_register_rqos(struct rq_qos *rqos)
+{
+ return 0;
+}
+
+static inline void blk_mq_debugfs_unregister_rqos(struct rq_qos *rqos)
+{
+}
+
+static inline void blk_mq_debugfs_unregister_queue_rqos(struct request_queue *q)
+{
+}
#endif
#ifdef CONFIG_BLK_DEBUG_FS_ZONED