mirror of https://gitee.com/openkylin/linux.git
[SCSI] fnic: Remove QUEUE_FULL handling code
Remove fnic driver QUEUE_FULL handling code instead let SCSI mid layer handle queue full and use its algorithm to ramp down/up queue Signed-off-by: Suma Ramars <sramars@cisco.com> Signed-off-by: Hiral Patel <hiralpat@cisco.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
87aa619c17
commit
318c7c4325
|
@ -818,38 +818,6 @@ static void fnic_fcpio_icmnd_cmpl_handler(struct fnic *fnic,
|
||||||
if (icmnd_cmpl->flags & FCPIO_ICMND_CMPL_RESID_UNDER)
|
if (icmnd_cmpl->flags & FCPIO_ICMND_CMPL_RESID_UNDER)
|
||||||
xfer_len -= icmnd_cmpl->residual;
|
xfer_len -= icmnd_cmpl->residual;
|
||||||
|
|
||||||
/*
|
|
||||||
* If queue_full, then try to reduce queue depth for all
|
|
||||||
* LUNS on the target. Todo: this should be accompanied
|
|
||||||
* by a periodic queue_depth rampup based on successful
|
|
||||||
* IO completion.
|
|
||||||
*/
|
|
||||||
if (icmnd_cmpl->scsi_status == QUEUE_FULL) {
|
|
||||||
struct scsi_device *t_sdev;
|
|
||||||
int qd = 0;
|
|
||||||
|
|
||||||
shost_for_each_device(t_sdev, sc->device->host) {
|
|
||||||
if (t_sdev->id != sc->device->id)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (t_sdev->queue_depth > 1) {
|
|
||||||
qd = scsi_track_queue_full
|
|
||||||
(t_sdev,
|
|
||||||
t_sdev->queue_depth - 1);
|
|
||||||
if (qd == -1)
|
|
||||||
qd = t_sdev->host->cmd_per_lun;
|
|
||||||
shost_printk(KERN_INFO,
|
|
||||||
fnic->lport->host,
|
|
||||||
"scsi[%d:%d:%d:%d"
|
|
||||||
"] queue full detected,"
|
|
||||||
"new depth = %d\n",
|
|
||||||
t_sdev->host->host_no,
|
|
||||||
t_sdev->channel,
|
|
||||||
t_sdev->id, t_sdev->lun,
|
|
||||||
t_sdev->queue_depth);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FCPIO_TIMEOUT: /* request was timed out */
|
case FCPIO_TIMEOUT: /* request was timed out */
|
||||||
|
|
Loading…
Reference in New Issue