Re: TCQ in 2.5.46 when sharing channel with non-TCQ drive

Jens Axboe (axboe@suse.de)
Wed, 13 Nov 2002 12:43:23 +0100


On Mon, Nov 11 2002, Petr Vandrovec wrote:
> Hi Jens,
> just FYI: I just plugged IBM's IBM-DTLA-307045 as slave to the
> WDC1200JB-00CRA0, and because of I have enabled TCQ in kernel, it
> started using TCQ on IBM (WDC is not TCQ aware). During bootup it reported
> 'bad special flag: 0x03' on IBM, and later during 'rm -rf /mnt2' (where
> /mnt2 is contents of IBM's disk) I got:
>
> Linux version 2.5.46-c985 (root@vana) (gcc version 2.95.4 20011002 (Debian prerelease)) #3 SMP Fri Nov 8 22:47:13 CET 2002
> ...
> ICH2: IDE controller at PCI slot 00:1f.1
> ICH2: chipset revision 5
> ICH2: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
> ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
> hda: WDC WD1200JB-00CRA0, ATA DISK drive
> hdb: IBM-DTLA-307045, ATA DISK drive
> hdb: bad special flag: 0x03
> hdb: tagged command queueing enabled, command queue depth 8
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hdc: TOSHIBA MK6409MAV, ATA DISK drive
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: host protected area => 1
> hda: 234441648 sectors (120034 MB) w/8192KiB Cache, CHS=14593/255/63, UDMA(100)
> /dev/ide/host0/bus0/target0/lun0: p1 p2 p3
> hdb: host protected area => 1
> hdb: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=5606/255/63, UDMA(100)
> /dev/ide/host0/bus0/target1/lun0: p1 p2
> hdc: host protected area => 1
> hdc: 12685680 sectors (6495 MB), CHS=13424/15/63, UDMA(33)
> /dev/ide/host0/bus1/target0/lun0: p1
> ...
> ide_tcq_intr_timeout: timeout waiting for service interrupt
> ide_tcq_intr_timeout: missing isr!
> hdb: invalidating tag queue (0 commands)
> hdb: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hdb: drive_cmd: error=0x04 { DriveStatusError }
> ide_tcq_intr_timeout: timeout waiting for service interrupt
> ide_tcq_intr_timeout: missing isr!
> hdb: invalidating tag queue (0 commands)
> hdb: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hdb: drive_cmd: error=0x04 { DriveStatusError }
> ide_tcq_intr_timeout: timeout waiting for service interrupt
> ide_tcq_intr_timeout: missing isr!
> hdb: invalidating tag queue (0 commands)
> hdb: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hdb: drive_cmd: error=0x04 { DriveStatusError }
> ide_tcq_intr_timeout: timeout waiting for service interrupt
> ide_tcq_intr_timeout: missing isr!
> hdb: invalidating tag queue (0 commands)
> hdb: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hdb: drive_cmd: error=0x04 { DriveStatusError }
>
> Machine is still alive, and seems happy.

Thanks for the raport Petr, I will take a look at it! From the looks of
it, we are not clearing the tcq handler when switching from that drive.

-- 
Jens Axboe

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