On Thu, 2017-07-13 at 23:32 +0800, Ming Lei wrote: > On Thu, Jul 13, 2017 at 02:56:38PM +0000, Bart Van Assche wrote: > > hctx_may_queue() severely limits the queue depth if many LUNs are associated > > with the same SCSI host. I think that this is a performance regression > > compared to scsi-sq and that this performance regression should be fixed. > > IMO, it is hard to evaluate/compare perf between scsi-mq vs scsi-sq: > > - how many LUNs do you run IO on concurrently? > - evaluate the perf on single LUN or multi LUN? > > BTW, active_queues is a runtime variable which accounts the actual active > queues in use. Hello Ming, What I described can be verified easily by running fio against a single LUN of a SCSI host with which a large number of LUNs are associated. BTW, something I overlooked in my analysis of the active_queues variable is that it is not only decremented if a queue is destroyed but also if a queue is idle during (block layer request timeout) seconds. So the problem I described will only occur if some software submits I/O requests periodically to all SCSI LUNs with a shorter interval than the I/O timeout. I'm not sure any Linux software does this today. As an example, the time between path checks by the multipathd TUR checker typically exceeds the timeout of a single TUR check. Bart.