diff options
author | Ming Lei <ming.lei@redhat.com> | 2021-08-03 15:06:08 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-08-09 20:00:26 -0600 |
commit | 11431e26c9c43fa26f6b33ee1a90989f57b86024 (patch) | |
tree | ffa97a8ceceb46d02e715ff6fb62ed20846818ec /block/mq-deadline.c | |
parent | fb7b9b0231ba8f77587c23f5257a4fdb6df1219e (diff) | |
download | linux-11431e26c9c43fa26f6b33ee1a90989f57b86024.tar.gz |
blk-iocost: fix lockdep warning on blkcg->lock
blkcg->lock depends on q->queue_lock which may depend on another driver lock required in irq context, one example is dm-thin: Chain exists of: &pool->lock#3 --> &q->queue_lock --> &blkcg->lock Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&blkcg->lock); local_irq_disable(); lock(&pool->lock#3); lock(&q->queue_lock); <Interrupt> lock(&pool->lock#3); Fix the issue by using spin_lock_irq(&blkcg->lock) in ioc_weight_write(). Cc: Tejun Heo <tj@kernel.org> Reported-by: Bruno Goncalves <bgoncalv@redhat.com> Link: https://lore.kernel.org/linux-block/CA+QYu4rzz6079ighEanS3Qq_Dmnczcf45ZoJoHKVLVATTo1e4Q@mail.gmail.com/T/#u Signed-off-by: Ming Lei <ming.lei@redhat.com> Acked-by: Tejun Heo <tj@kernel.org> Link: https://lore.kernel.org/r/20210803070608.1766400-1-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/mq-deadline.c')
0 files changed, 0 insertions, 0 deletions