Bart, > 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(). Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> -- Martin K. Petersen Oracle Linux Engineering