diff options
author | Ming Lei <[email protected]> | 2020-12-03 09:26:36 +0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2020-12-07 20:30:19 -0700 |
commit | fb01a2932e81a1fb2273f87ff92dc8172b8880ee (patch) | |
tree | 3b8f82bc210b1b8d5a638e8ea194ec3ed634b63a /tools/perf/scripts/python/exported-sql-viewer.py | |
parent | cc29e1bf0d63f728a5bd60ef22638bbf77369552 (diff) |
blk-mq: add new API of blk_mq_hctx_set_fq_lock_class
flush_end_io() may be called recursively from some driver, such as
nvme-loop, so lockdep may complain 'possible recursive locking'.
Commit b3c6a5997541("block: Fix a lockdep complaint triggered by
request queue flushing") tried to address this issue by assigning
dynamically allocated per-flush-queue lock class. This solution
adds synchronize_rcu() for each hctx's release handler, and causes
horrible SCSI MQ probe delay(more than half an hour on megaraid sas).
Add new API of blk_mq_hctx_set_fq_lock_class() for these drivers, so
we just need to use driver specific lock class for avoiding the
lockdep warning of 'possible recursive locking'.
Tested-by: Kashyap Desai <[email protected]>
Reported-by: Qian Cai <[email protected]>
Cc: Sumit Saxena <[email protected]>
Cc: John Garry <[email protected]>
Cc: Kashyap Desai <[email protected]>
Cc: Bart Van Assche <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions