Regression: commit 045065d breaks kernel on machine with atapi floppy: high IOWAIT, hung processes (bisected)

From: Sergio Callegari
Date: Sun Aug 16 2015 - 10:34:35 EST



Hi,

please keep me in CC in answers.

I'd like to report that after commit

[045065d8a300a37218c548e9aa7becd581c6a0e8] [SCSI] fix qemu boot hang problem

the kernel is not usable on a machine with an IOMEGA Zip 100 ATAPI drive as in:

Model=IOMEGA ZIP 100 ATAPI Floppy, FwRev=12.A, SerialNo=
Config={ SpinMotCtl Removeable nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=unknown, MaxMultSect=0 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:500,w/IORDY:180}
PIO modes: pio0 pio1 pio2 pio3
AdvancedPM=no

Symptoms include:

- Extremely high IOWAIT in absence of load
- Kernel reporting hung processes
- Commands like blkid hanging
- Inability of the machine to shutdown

Symptoms do not appear immediately, but after some time (anywhere between a few minutes and /many hours/ after boot). First symptom is IOWAIT suddendly jumping high.

Due to the delay in which symptoms manifest, bisecting has been quite painful, but I am now rather sure that the first bad commit is the one above.

Other pieces of hardware configuration include:

- ASRock N68S motherboard with AMD Phenom(tm) II X4 920 Processor and NVIDIA MCP61 SATA/IDE Chipset
- IDE drive connected as slave on ide interface where master is HL-DT-ST DVD-RAM GH22NP20 CDROM/DVD writer

Issue is weird because the commit seems to merely fix a trivial error in logic condition

- if (atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
+ if (!atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
blk_delay_queue(q, SCSI_QUEUE_DELAY);

Hence, the commit may just end up making visible some other issue.

Best,

Sergio


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/