FROMGIT: scsi: Remove a blk_mq_run_hw_queues() call
blk_mq_kick_requeue_list() calls blk_mq_run_hw_queues() asynchronously. Leave out the direct blk_mq_run_hw_queues() call. This patch causes scsi_run_queue() to call blk_mq_run_hw_queues() asynchronously instead of synchronously. Since scsi_run_queue() is not called from the hot I/O submission path, this patch does not affect the hot path. This patch prepares for allowing blk_mq_run_hw_queue() to sleep if BLK_MQ_F_BLOCKING has been set. scsi_run_queue() may be called from atomic context and must not sleep. Hence the removal of the blk_mq_run_hw_queues(q, false) call. See also scsi_unblock_requests(). Cc: "Martin K. Petersen" <martin.petersen@oracle.com> Change-Id: Ia7447d2cc803cb56728a902fd8562e85640d5fd0 Signed-off-by:Bart Van Assche <bvanassche@acm.org> Reviewed-by:
"Martin K. Petersen" <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20230721172731.955724-3-bvanassche@acm.org Signed-off-by:
Jens Axboe <axboe@kernel.dk> Bug: 291379528 (cherry picked from commit d42e2e34 git://git.kernel.dk/linux-block for-next) Signed-off-by:
Bart Van Assche <bvanassche@google.com>
Loading
Please sign in to comment