On Fri, 2017-04-07 at 17:41 +0800, Ming Lei wrote: > On Thu, Apr 06, 2017 at 11:10:45AM -0700, Bart Van Assche wrote: > > Hello Jens, > > > > The five patches in this patch series fix the queue lockup I reported > > recently on the linux-block mailing list. Please consider these patches > > for inclusion in the upstream kernel. > > I read the commit log of the 5 patches, looks not found descriptions > about root cause of the queue lockup, so could you explain a bit about > the reason behind? Hello Ming, If a .queue_rq() function returns BLK_MQ_RQ_QUEUE_BUSY then the block driver that implements that function is responsible for rerunning the hardware queue once requests can be queued successfully again. That is not the case today for the SCSI core. Patch 5/5 ensures that hardware queues for which scsi_queue_rq() has returned "busy" are rerun after the "busy" condition has been cleared. This is why patch 5/5 fixes a queue lockup. Bart.