mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
BACKPORT: FROMGIT: scsi: Inline scsi_kick_queue()
Inline scsi_kick_queue() to prepare for modifying the second argument
passed to blk_mq_run_hw_queues().
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Change-Id: I595673bbdd357fd27eb61e5f2605257b8c20ecd6
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-2-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Bug: 291379528
(cherry picked from commit b5ca9acff5 git://git.kernel.dk/linux-block for-next)
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
committed by
Bart Van Assche
parent
4bbc8e45b2
commit
8bb4682c76
@@ -304,11 +304,6 @@ void scsi_device_unbusy(struct scsi_device *sdev, struct scsi_cmnd *cmd)
|
|||||||
cmd->budget_token = -1;
|
cmd->budget_token = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void scsi_kick_queue(struct request_queue *q)
|
|
||||||
{
|
|
||||||
blk_mq_run_hw_queues(q, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Called for single_lun devices on IO completion. Clear starget_sdev_user,
|
* Called for single_lun devices on IO completion. Clear starget_sdev_user,
|
||||||
* and call blk_run_queue for all the scsi_devices on the target -
|
* and call blk_run_queue for all the scsi_devices on the target -
|
||||||
@@ -333,7 +328,7 @@ static void scsi_single_lun_run(struct scsi_device *current_sdev)
|
|||||||
* but in most cases, we will be first. Ideally, each LU on the
|
* but in most cases, we will be first. Ideally, each LU on the
|
||||||
* target would get some limited time or requests on the target.
|
* target would get some limited time or requests on the target.
|
||||||
*/
|
*/
|
||||||
scsi_kick_queue(current_sdev->request_queue);
|
blk_mq_run_hw_queues(current_sdev->request_queue, false);
|
||||||
|
|
||||||
spin_lock_irqsave(shost->host_lock, flags);
|
spin_lock_irqsave(shost->host_lock, flags);
|
||||||
if (starget->starget_sdev_user)
|
if (starget->starget_sdev_user)
|
||||||
@@ -346,7 +341,7 @@ static void scsi_single_lun_run(struct scsi_device *current_sdev)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
spin_unlock_irqrestore(shost->host_lock, flags);
|
spin_unlock_irqrestore(shost->host_lock, flags);
|
||||||
scsi_kick_queue(sdev->request_queue);
|
blk_mq_run_hw_queues(sdev->request_queue, false);
|
||||||
spin_lock_irqsave(shost->host_lock, flags);
|
spin_lock_irqsave(shost->host_lock, flags);
|
||||||
|
|
||||||
scsi_device_put(sdev);
|
scsi_device_put(sdev);
|
||||||
@@ -433,7 +428,7 @@ static void scsi_starved_list_run(struct Scsi_Host *shost)
|
|||||||
continue;
|
continue;
|
||||||
spin_unlock_irqrestore(shost->host_lock, flags);
|
spin_unlock_irqrestore(shost->host_lock, flags);
|
||||||
|
|
||||||
scsi_kick_queue(slq);
|
blk_mq_run_hw_queues(slq, false);
|
||||||
blk_put_queue(slq);
|
blk_put_queue(slq);
|
||||||
|
|
||||||
spin_lock_irqsave(shost->host_lock, flags);
|
spin_lock_irqsave(shost->host_lock, flags);
|
||||||
|
|||||||
Reference in New Issue
Block a user