Messages in this thread | | | From | Bart Van Assche <> | Subject | Re: Device or HBA level QD throttling creates randomness in sequetial workload | Date | Mon, 30 Jan 2017 16:30:59 +0000 |
| |
On Mon, 2017-01-30 at 19:22 +0530, Kashyap Desai wrote: > - if (atomic_inc_return(&instance->fw_outstanding) > > - instance->host->can_queue) { > - atomic_dec(&instance->fw_outstanding); > - return SCSI_MLQUEUE_HOST_BUSY; > - } > + if (atomic_inc_return(&instance->fw_outstanding) > safe_can_queue) { > + is_nonrot = blk_queue_nonrot(scmd->device->request_queue); > + /* For rotational device wait for sometime to get fusion command > from pool. > + * This is just to reduce proactive re-queue at mid layer which is > not > + * sending sorted IO in SCSI.MQ mode. > + */ > + if (!is_nonrot) > + udelay(100); > + }
The SCSI core does not allow to sleep inside the queuecommand() callback function.
Bart.
| |