Skip to content

Commit

Permalink
Revert "block: Fix a lockdep complaint triggered by request queue flu…
Browse files Browse the repository at this point in the history
…shing"

This reverts commit b3c6a59.

Now we can avoid nvme-loop lockdep warning of 'lockdep possible recursive locking'
by nvme-loop's lock class, no need to apply dynamically allocated lock class key,
so revert commit b3c6a59("block: Fix a lockdep complaint triggered by request
queue flushing").

This way fixes horrible SCSI probe delay issue on megaraid_sas, and it is reported
the whole probe may take more than half an hour.

Tested-by: Kashyap Desai <[email protected]>
Reported-by: Qian Cai <[email protected]>
Reviewed-by: Christoph Hellwig <[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]>
  • Loading branch information
Ming Lei authored and axboe committed Dec 8, 2020
1 parent 88c9979 commit 7aa390e
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 6 deletions.
5 changes: 0 additions & 5 deletions block/blk-flush.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
#include <linux/blkdev.h>
#include <linux/gfp.h>
#include <linux/blk-mq.h>
#include <linux/lockdep.h>

#include "blk.h"
#include "blk-mq.h"
Expand Down Expand Up @@ -469,9 +468,6 @@ struct blk_flush_queue *blk_alloc_flush_queue(int node, int cmd_size,
INIT_LIST_HEAD(&fq->flush_queue[1]);
INIT_LIST_HEAD(&fq->flush_data_in_flight);

lockdep_register_key(&fq->key);
lockdep_set_class(&fq->mq_flush_lock, &fq->key);

return fq;

fail_rq:
Expand All @@ -486,7 +482,6 @@ void blk_free_flush_queue(struct blk_flush_queue *fq)
if (!fq)
return;

lockdep_unregister_key(&fq->key);
kfree(fq->flush_rq);
kfree(fq);
}
Expand Down
1 change: 0 additions & 1 deletion block/blk.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ struct blk_flush_queue {
struct list_head flush_data_in_flight;
struct request *flush_rq;

struct lock_class_key key;
spinlock_t mq_flush_lock;
};

Expand Down

0 comments on commit 7aa390e

Please sign in to comment.