>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>