RE: [PATCH V4] scsi: core: only re-run queue in scsi_end_request() if device queue is busy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>Subject: Re: [PATCH V4] scsi: core: only re-run queue in scsi_end_request() if
>device queue is busy
>
>On 17/08/2020 11:08, Ming Lei wrote:
>> Now the request queue is run in scsi_end_request() unconditionally if
>> both target queue and host queue is ready. We should have re-run
>> request queue only after this device queue becomes busy for restarting this
>LUN only.
>>
>> Recently Long Li reported that cost of run queue may be very heavy in
>> case of high queue depth. So improve this situation by only running
>> the request queue when this LUN is busy.
>>
>> Cc: Ewan D. Milne <emilne@xxxxxxxxxx>
>> Cc: Kashyap Desai <kashyap.desai@xxxxxxxxxxxx>
>> Cc: Hannes Reinecke <hare@xxxxxxx>
>> Cc: Bart Van Assche <bvanassche@xxxxxxx>
>> Cc: Long Li <longli@xxxxxxxxxxxxx>
>> Cc: John Garry <john.garry@xxxxxxxxxx>
>> Cc: linux-block@xxxxxxxxxxxxxxx
>> Reported-by: Long Li <longli@xxxxxxxxxxxxx>
>> Tested-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxx>
>> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx>
>
>FWIW, this looks ok to me, and tested on scsi_debug showed less time in
>blk_mq_run_hw_queues() [for reduced queue depth]:
>
>Reviewed-by: John Garry <john.garry@xxxxxxxxxx>
>
>thanks

On Azure Standard D64s v3 (64 vcpus, 256 GiB memory), it sees better CPU utilization with the patch.

Tested-by: Long Li <longli@xxxxxxxxxxxxx>




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux