On Sat, Jun 30, 2018 at 09:30:30AM +0800, Ming Lei wrote: > On Fri, Jun 29, 2018 at 09:20:54AM -0700, Guenter Roeck wrote: > > Hi, > > > > On Sun, Jun 24, 2018 at 10:03:27PM +0800, Ming Lei wrote: > > > It isn't necessary to check the host depth in scsi_queue_rq() any more > > > since it has been respected by blk-mq before calling scsi_queue_rq() via > > > getting driver tag. > > > > > > Lots of LUNs may attach to same host, and per-host IOPS may reach millions > > > level, so we should avoid to this expensive atomic operations on the > > > hostwide counter in IO path. > > > > > > This patch implemens scsi_host_busy() via blk_mq_tagset_busy_iter() for > > > reading the count of busy IOs for scsi_mq. > > > > > > It is observed that IOPS is increased by 15% in IO test on scsi_debug > > > (32 LUNs, 32 submit queues, 1024 can_queue, libaio/dio) in one > > > dual-socket system. > > > > > > > This patch breaks two of my qemu test builds in -next: parisc:defconfig > > and arm:versatilepb-scsi:versatile_defconfig (which is versatilepb booting > > from scsi disk). The symptom is the same for both: Boot stalls after scsi > > bus initialization. > > > > arm: > > > > sym53c8xx 0000:00:0c.0: enabling device (0100 -> 0103) > > sym0: <895a> rev 0x0 at pci 0000:00:0c.0 irq 66 > > sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking > > sym0: SCSI BUS has been reset. > > scsi host0: sym-2.2.3 > > random: fast init done > > [stalls] > > > > parisc: > > > > sym53c8xx 0000:00:00.0: enabling SERR and PARITY (0107 -> 0147) > > sym0: <895a> rev 0x0 at pci 0000:00:00.0 irq 17 > > sym0: PA-RISC Firmware, ID 7, Fast-40, LVD, parity checking > > sym0: SCSI BUS has been reset. > > scsi host0: sym-2.2.3 > > random: fast init done > > [stalls] > > > > Reverting the patch fixes the problem. Bisect log is attached. > > Please test the patch of 'scsi: fix scsi_host_queue_ready', which has > been posted on linux-scsi list and CCed to you. > Yes, that fixes the problem. Thanks for the quick turnaround! Guenter