[PATCH v9 0/8] blk-mq: fix possible deadlocks

Yu Kuai posted 8 patches 5 days ago
block/blk-mq-debugfs.c |  68 ++++++++++++-------
block/blk-mq-debugfs.h |   8 +--
block/blk-rq-qos.c     |  11 ---
block/blk-sysfs.c      |  39 +----------
block/blk-wbt.c        | 149 ++++++++++++++++++++++++++++++-----------
block/blk-wbt.h        |   7 +-
6 files changed, 159 insertions(+), 123 deletions(-)
[PATCH v9 0/8] blk-mq: fix possible deadlocks
Posted by Yu Kuai 5 days ago
Fix deadlocks:
 - patch 1-2, pcpu_alloc_mutex under q_usage_counter in blk-wbt;
 - patch 3-8, debugfs_mutex under q_usage_counter;

Yu Kuai (8):
  blk-wbt: factor out a helper wbt_set_lat()
  blk-wbt: fix possible deadlock to nest pcpu_alloc_mutex under
    q_usage_counter
  blk-mq-debugfs: factor out a helper to register debugfs for all rq_qos
  blk-rq-qos: fix possible debugfs_mutex deadlock
  blk-mq-debugfs: make blk_mq_debugfs_register_rqos() static
  blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos()
  blk-mq-debugfs: add missing debugfs_mutex in
    blk_mq_debugfs_register_hctxs()
  blk-mq-debugfs: warn about possible deadlock

 block/blk-mq-debugfs.c |  68 ++++++++++++-------
 block/blk-mq-debugfs.h |   8 +--
 block/blk-rq-qos.c     |  11 ---
 block/blk-sysfs.c      |  39 +----------
 block/blk-wbt.c        | 149 ++++++++++++++++++++++++++++++-----------
 block/blk-wbt.h        |   7 +-
 6 files changed, 159 insertions(+), 123 deletions(-)

-- 
2.51.0
Re: [PATCH v9 0/8] blk-mq: fix possible deadlocks
Posted by Jens Axboe 4 days, 17 hours ago
On Mon, 02 Feb 2026 16:05:15 +0800, Yu Kuai wrote:
> Fix deadlocks:
>  - patch 1-2, pcpu_alloc_mutex under q_usage_counter in blk-wbt;
>  - patch 3-8, debugfs_mutex under q_usage_counter;
> 
> Yu Kuai (8):
>   blk-wbt: factor out a helper wbt_set_lat()
>   blk-wbt: fix possible deadlock to nest pcpu_alloc_mutex under
>     q_usage_counter
>   blk-mq-debugfs: factor out a helper to register debugfs for all rq_qos
>   blk-rq-qos: fix possible debugfs_mutex deadlock
>   blk-mq-debugfs: make blk_mq_debugfs_register_rqos() static
>   blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos()
>   blk-mq-debugfs: add missing debugfs_mutex in
>     blk_mq_debugfs_register_hctxs()
>   blk-mq-debugfs: warn about possible deadlock
> 
> [...]

Applied, thanks!

[1/8] blk-wbt: factor out a helper wbt_set_lat()
      commit: 2751b90051a0211ed7c78f26eb2a9b7038804b9b
[2/8] blk-wbt: fix possible deadlock to nest pcpu_alloc_mutex under q_usage_counter
      commit: 41afaeeda5099d9cd07eaa7dc6c3d20c6f1dd9e9
[3/8] blk-mq-debugfs: factor out a helper to register debugfs for all rq_qos
      commit: 3f0bea9f3b9e7d9bdc3794103575168ef007d309
[4/8] blk-rq-qos: fix possible debugfs_mutex deadlock
      commit: 3c17a346ffc613615f48c6f1ed30cdf328bab805
[5/8] blk-mq-debugfs: make blk_mq_debugfs_register_rqos() static
      commit: 70bafa5e31ff979c4c38ac9838cc960a32c04f49
[6/8] blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos()
      commit: 5ae4b12ee6422a816efca4ede8411e4d5503b5ac
[7/8] blk-mq-debugfs: add missing debugfs_mutex in blk_mq_debugfs_register_hctxs()
      commit: 9d20fd6ce1ba9733cd5ac96fcab32faa9fc404dd
[8/8] blk-mq-debugfs: warn about possible deadlock
      commit: 65d466b6298470ce21ab21ebfdb51309d515737d

Best regards,
-- 
Jens Axboe