2003-06-23 19:31:14

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

Hi!

I've played a bit with my "mirror" machine

- 200MHz Pentium-MMX
- 64MB RAM
- jbglaw@mirror:~$ cat /proc/ide/hd*/model
WDC AC2850F # System drive
IC35L040AVER07-0 # \
IC35L120AVV207-0 # > Storage (with DM/LVM)
Maxtor 4W100H6 # /
- jbglaw@mirror:~$ lspci |grep IDE
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
- Linux v2.5.73
- <*> Intel PIIXn chipsets support

Basically, if I enable Taskfile I/O, the box refuses to boot (basically,
the first drive sounds really broken like "clack clack clack" and no
data comes off the drive so there's no partition table, no root FS, but
a panic:) Is anybody interested in nailing this bug down?

Disabling Taskfile lets me boot the box, but hdc doesn't like TCQ and
gives errors:

ide_tcq_intr_timeout: timeout waiting for service interrupt
ide_tcq_intr_timeout: missing isr!
hdc: invalidating tag queue (0 commands)
hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
hdc: drive_cmd: error=0x04 { DriveStatusError }
[above messages repeat...]

IDE's boot log:

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: WDC AC2850F, ATA DISK drive
hdb: IC35L040AVER07-0, ATA DISK drive
hda: tcq forbidden by blacklist
hdb: only one drive on a channel supported for tcq
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: IC35L120AVV207-0, ATA DISK drive
hdd: Maxtor 4W100H6, ATA DISK drive
hdc: tagged command queueing enabled, command queue depth 32
hdd: only one drive on a channel supported for tcq
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
hda: hda1 hda2 hda3
hdb: max request size: 128KiB
hdb: host protected area => 1
hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
hdb: hdb1 hdb2 hdb3 hdb4
hdc: max request size: 1024KiB
hdc: host protected area => 1
hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
hdd: max request size: 128KiB
hdd: host protected area => 1
hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >

IDE settings:
mirror:~# lspci -xxx -v -d 8086:7111
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Flags: bus master, medium devsel, latency 64
I/O ports at f000 [size=16]
00: 86 80 11 71 05 00 80 02 01 80 01 01 00 40 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 77 e1 77 e3 bb 00 00 00 0e 00 20 22 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 28 0f 00 00 00 00 00 00

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (3.97 kB)
(No filename) (189.00 B)
Download all attachments
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


On Mon, 23 Jun 2003, Jan-Benedict Glaw wrote:

> Hi!
>
> I've played a bit with my "mirror" machine
>
> - 200MHz Pentium-MMX
> - 64MB RAM
> - jbglaw@mirror:~$ cat /proc/ide/hd*/model
> WDC AC2850F # System drive
> IC35L040AVER07-0 # \
> IC35L120AVV207-0 # > Storage (with DM/LVM)
> Maxtor 4W100H6 # /
> - jbglaw@mirror:~$ lspci |grep IDE
> 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
> - Linux v2.5.73
> - <*> Intel PIIXn chipsets support
>
> Basically, if I enable Taskfile I/O, the box refuses to boot (basically,
> the first drive sounds really broken like "clack clack clack" and no
> data comes off the drive so there's no partition table, no root FS, but
> a panic:) Is anybody interested in nailing this bug down?

YES

> Disabling Taskfile lets me boot the box, but hdc doesn't like TCQ and
> gives errors:
>
> ide_tcq_intr_timeout: timeout waiting for service interrupt
> ide_tcq_intr_timeout: missing isr!
> hdc: invalidating tag queue (0 commands)
> hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> hdc: drive_cmd: error=0x04 { DriveStatusError }
> [above messages repeat...]

TCQ shouldn't be enabled on hdc, you have two drives on second ide
channel and current TCQ driver design allows only one drive per channel,
so proper fix is to not enable TCQ :-).

Can you try attached patch?

Regards,
--
Bartlomiej

> IDE's boot log:
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PIIX4: IDE controller at PCI slot 00:07.1
> PIIX4: chipset revision 1
> PIIX4: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
> hda: WDC AC2850F, ATA DISK drive
> hdb: IC35L040AVER07-0, ATA DISK drive
> hda: tcq forbidden by blacklist
> hdb: only one drive on a channel supported for tcq
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hdc: IC35L120AVV207-0, ATA DISK drive
> hdd: Maxtor 4W100H6, ATA DISK drive
> hdc: tagged command queueing enabled, command queue depth 32
> hdd: only one drive on a channel supported for tcq
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: max request size: 128KiB
> hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> hda: task_no_data_intr: error=0x04 { DriveStatusError }
> hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
> hda: hda1 hda2 hda3
> hdb: max request size: 128KiB
> hdb: host protected area => 1
> hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
> hdb: hdb1 hdb2 hdb3 hdb4
> hdc: max request size: 1024KiB
> hdc: host protected area => 1
> hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
> hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
> hdd: max request size: 128KiB
> hdd: host protected area => 1
> hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
> hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >
>
> IDE settings:
> mirror:~# lspci -xxx -v -d 8086:7111
> 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
> Flags: bus master, medium devsel, latency 64
> I/O ports at f000 [size=16]
> 00: 86 80 11 71 05 00 80 02 01 80 01 01 00 40 00 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 01 f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 40: 77 e1 77 e3 bb 00 00 00 0e 00 20 22 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 28 0f 00 00 00 00 00 00
>
> MfG, JBG
>
> --
> Jan-Benedict Glaw [email protected] . +49-172-7608481
> "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
> fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
> ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
ide-tcq-init-fixes.patch (2.40 kB)

2003-06-23 22:08:30

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Mon, 2003-06-23 23:18:00 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Mon, 23 Jun 2003, Jan-Benedict Glaw wrote:

> > I've played a bit with my "mirror" machine
> >
> > - 200MHz Pentium-MMX
> > - 64MB RAM
> > - jbglaw@mirror:~$ cat /proc/ide/hd*/model
> > WDC AC2850F # System drive
> > IC35L040AVER07-0 # \
> > IC35L120AVV207-0 # > Storage (with DM/LVM)
> > Maxtor 4W100H6 # /
> > - jbglaw@mirror:~$ lspci |grep IDE
> > 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
> > - Linux v2.5.73
> > - <*> Intel PIIXn chipsets support
> >
> > Basically, if I enable Taskfile I/O, the box refuses to boot (basically,
> > the first drive sounds really broken like "clack clack clack" and no
> > data comes off the drive so there's no partition table, no root FS, but
> > a panic:) Is anybody interested in nailing this bug down?
>
> YES

What can I do about this one? I'll try to capture the lines... Taskfile
I/O seems to hit my drive(s) really hard:)

> > Disabling Taskfile lets me boot the box, but hdc doesn't like TCQ and
> > gives errors:
> >
> > ide_tcq_intr_timeout: timeout waiting for service interrupt
> > ide_tcq_intr_timeout: missing isr!
> > hdc: invalidating tag queue (0 commands)
> > hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> > hdc: drive_cmd: error=0x04 { DriveStatusError }
> > [above messages repeat...]
>
> TCQ shouldn't be enabled on hdc, you have two drives on second ide
> channel and current TCQ driver design allows only one drive per channel,
> so proper fix is to not enable TCQ :-).
>
> Can you try attached patch?

I'll rebuild with your patch and give it a try (TCQ enabled, Taskfile
disabled...).

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (2.05 kB)
(No filename) (189.00 B)
Download all attachments

2003-06-23 23:36:15

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Mon, 2003-06-23 23:18:00 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Mon, 23 Jun 2003, Jan-Benedict Glaw wrote:
> > I've played a bit with my "mirror" machine
> >
> > - 200MHz Pentium-MMX
> > - 64MB RAM
> > - jbglaw@mirror:~$ cat /proc/ide/hd*/model
> > WDC AC2850F # System drive
> > IC35L040AVER07-0 # \
> > IC35L120AVV207-0 # > Storage (with DM/LVM)
> > Maxtor 4W100H6 # /
> > - jbglaw@mirror:~$ lspci |grep IDE
> > 00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
> > - Linux v2.5.73
> > - <*> Intel PIIXn chipsets support
> >
> > Basically, if I enable Taskfile I/O, the box refuses to boot (basically,
> > the first drive sounds really broken like "clack clack clack" and no
> > data comes off the drive so there's no partition table, no root FS, but
> > a panic:) Is anybody interested in nailing this bug down?
>
> YES

I'll note down this one after having had a little sleep...

> > Disabling Taskfile lets me boot the box, but hdc doesn't like TCQ and
> > gives errors:
> >
> > ide_tcq_intr_timeout: timeout waiting for service interrupt
> > ide_tcq_intr_timeout: missing isr!
> > hdc: invalidating tag queue (0 commands)
> > hdc: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
> > hdc: drive_cmd: error=0x04 { DriveStatusError }
> > [above messages repeat...]
>
> TCQ shouldn't be enabled on hdc, you have two drives on second ide
> channel and current TCQ driver design allows only one drive per channel,
> so proper fix is to not enable TCQ :-).

Your patch works for me - TCQ gets no longer stitched on while I've
configured to default ON, queue depth 32:

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: WDC AC2850F, ATA DISK drive
hdb: IC35L040AVER07-0, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: IC35L120AVV207-0, ATA DISK drive
hdd: Maxtor 4W100H6, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
hda: hda1 hda2 hda3
hdb: max request size: 128KiB
hdb: host protected area => 1
hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
hdb: hdb1 hdb2 hdb3 hdb4
hdc: max request size: 1024KiB
hdc: host protected area => 1
hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
hdd: max request size: 128KiB
hdd: host protected area => 1
hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >

The box is now running for a couple of minuted hitting it's HDDs with
rsync...

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (3.48 kB)
(No filename) (189.00 B)
Download all attachments
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


On Tue, 24 Jun 2003, Jan-Benedict Glaw wrote:

<...>

> > TCQ shouldn't be enabled on hdc, you have two drives on second ide
> > channel and current TCQ driver design allows only one drive per channel,
> > so proper fix is to not enable TCQ :-).
>
> Your patch works for me - TCQ gets no longer stitched on while I've
> configured to default ON, queue depth 32:
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PIIX4: IDE controller at PCI slot 00:07.1
> PIIX4: chipset revision 1
> PIIX4: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
> hda: WDC AC2850F, ATA DISK drive
> hdb: IC35L040AVER07-0, ATA DISK drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hdc: IC35L120AVV207-0, ATA DISK drive
> hdd: Maxtor 4W100H6, ATA DISK drive
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: max request size: 128KiB
> hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> hda: task_no_data_intr: error=0x04 { DriveStatusError }
> hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
> hda: hda1 hda2 hda3
> hdb: max request size: 128KiB
> hdb: host protected area => 1
> hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
> hdb: hdb1 hdb2 hdb3 hdb4
> hdc: max request size: 1024KiB
> hdc: host protected area => 1
> hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
> hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
> hdd: max request size: 128KiB
> hdd: host protected area => 1
> hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
> hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >

There is no info about IDE trying (then failing) to enable TCQ ?

--
Bartlomiej

2003-06-24 06:17:36

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Tue, 2003-06-24 02:53:29 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Tue, 24 Jun 2003, Jan-Benedict Glaw wrote:
> > > TCQ shouldn't be enabled on hdc, you have two drives on second ide
> > > channel and current TCQ driver design allows only one drive per channel,
> > > so proper fix is to not enable TCQ :-).
> >
> > Your patch works for me - TCQ gets no longer stitched on while I've
> > configured to default ON, queue depth 32:
> >
> > Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> > ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> > PIIX4: IDE controller at PCI slot 00:07.1
> > PIIX4: chipset revision 1
> > PIIX4: not 100% native mode: will probe irqs later
> > ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> > ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
> > hda: WDC AC2850F, ATA DISK drive
> > hdb: IC35L040AVER07-0, ATA DISK drive
> > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> > hdc: IC35L120AVV207-0, ATA DISK drive
> > hdd: Maxtor 4W100H6, ATA DISK drive
> > ide1 at 0x170-0x177,0x376 on irq 15
> > hda: max request size: 128KiB
> > hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: task_no_data_intr: error=0x04 { DriveStatusError }
> > hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
> > hda: hda1 hda2 hda3
> > hdb: max request size: 128KiB
> > hdb: host protected area => 1
> > hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
> > hdb: hdb1 hdb2 hdb3 hdb4
> > hdc: max request size: 1024KiB
> > hdc: host protected area => 1
> > hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
> > hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
> > hdd: max request size: 128KiB
> > hdd: host protected area => 1
> > hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
> > hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >
>
> There is no info about IDE trying (then failing) to enable TCQ ?

No, there isn't. The box is now up'n'running for nearly 7 hours - that
should have been enough:) That's with your patch applied and the IDE
config as attached below.

Up to now, there's not a single IDE failure of any kind *knock on wood*.

MfG, JBG

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set

#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDE_TCQ=y
CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y
CONFIG_BLK_DEV_IDE_TCQ_DEPTH=32
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_BLK_DEV_IDE_MODES=y


--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (4.41 kB)
(No filename) (189.00 B)
Download all attachments

2003-06-24 07:52:43

by Jens Axboe

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Mon, Jun 23 2003, Bartlomiej Zolnierkiewicz wrote:
> [ide] TCQ initialization fixes
>
> - do not enable TCQ in ide_init_drive(), its too early
> - enable TCQ in __ide_dma_on() only if CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y
>
> drivers/ide/ide-dma.c | 8 ++++----
> drivers/ide/ide-probe.c | 5 -----
> include/linux/ide.h | 1 -
> 3 files changed, 4 insertions(+), 10 deletions(-)
>
> diff -puN drivers/ide/ide-probe.c~ide-tcq-init-fixes drivers/ide/ide-probe.c
> --- linux-2.5.73/drivers/ide/ide-probe.c~ide-tcq-init-fixes Mon Jun 23 23:10:11 2003
> +++ linux-2.5.73-root/drivers/ide/ide-probe.c Mon Jun 23 23:10:11 2003
> @@ -983,7 +983,6 @@ static void ide_init_queue(ide_drive_t *
>
> blk_init_queue(q, do_ide_request, &ide_lock);
> q->queuedata = HWGROUP(drive);
> - drive->queue_setup = 1;
> blk_queue_segment_boundary(q, 0xffff);
>
> if (!hwif->rqsize)
> @@ -1005,10 +1004,6 @@ static void ide_init_queue(ide_drive_t *
> static void ide_init_drive(ide_drive_t *drive)
> {
> ide_toggle_bounce(drive, 1);
> -
> -#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
> - HWIF(drive)->ide_dma_queued_on(drive);
> -#endif
> }
>
> /*
> diff -puN drivers/ide/ide-dma.c~ide-tcq-init-fixes drivers/ide/ide-dma.c
> --- linux-2.5.73/drivers/ide/ide-dma.c~ide-tcq-init-fixes Mon Jun 23 23:10:11 2003
> +++ linux-2.5.73-root/drivers/ide/ide-dma.c Mon Jun 23 23:10:11 2003
> @@ -523,8 +523,7 @@ int __ide_dma_off_quietly (ide_drive_t *
> if (HWIF(drive)->ide_dma_host_off(drive))
> return 1;
>
> - if (drive->queue_setup)
> - HWIF(drive)->ide_dma_queued_off(drive);
> + HWIF(drive)->ide_dma_queued_off(drive);
>
> return 0;
> }
> @@ -585,8 +584,9 @@ int __ide_dma_on (ide_drive_t *drive)
> if (HWIF(drive)->ide_dma_host_on(drive))
> return 1;
>
> - if (drive->queue_setup)
> - HWIF(drive)->ide_dma_queued_on(drive);
> +#ifdef BLK_DEV_IDE_TCQ_DEFAULT
> + HWIF(drive)->ide_dma_queued_on(drive);
> +#endif
>
> return 0;
> }
> diff -puN include/linux/ide.h~ide-tcq-init-fixes include/linux/ide.h
> --- linux-2.5.73/include/linux/ide.h~ide-tcq-init-fixes Mon Jun 23 23:10:11 2003
> +++ linux-2.5.73-root/include/linux/ide.h Mon Jun 23 23:10:11 2003
> @@ -726,7 +726,6 @@ typedef struct ide_drive_s {
> unsigned ata_flash : 1; /* 1=present, 0=default */
> unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */
> unsigned vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */
> - unsigned queue_setup : 1;
> unsigned addressing; /* : 3;
> * 0=28-bit
> * 1=48-bit
>
> _

Patch is nice and kills the ->queue_setup abomination, great.

--
Jens Axboe

Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


Corrected patch below...
--
Bartlomiej

[ide] TCQ initialization fixes

- do not enable TCQ in ide_init_drive(), its too early
- enable TCQ in __ide_dma_on() only if CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y
- try to enable TCQ only on disk drives
- correct check for two drives on one channel

drivers/ide/ide-dma.c | 8 ++++----
drivers/ide/ide-probe.c | 5 -----
drivers/ide/ide-tcq.c | 14 +++++++++++---
include/linux/ide.h | 1 -
4 files changed, 15 insertions(+), 13 deletions(-)

diff -puN drivers/ide/ide-probe.c~ide-tcq-init-fixes drivers/ide/ide-probe.c
--- linux-2.5.73/drivers/ide/ide-probe.c~ide-tcq-init-fixes Tue Jun 24 14:56:57 2003
+++ linux-2.5.73-root/drivers/ide/ide-probe.c Tue Jun 24 14:56:57 2003
@@ -983,7 +983,6 @@ static void ide_init_queue(ide_drive_t *

blk_init_queue(q, do_ide_request, &ide_lock);
q->queuedata = HWGROUP(drive);
- drive->queue_setup = 1;
blk_queue_segment_boundary(q, 0xffff);

if (!hwif->rqsize)
@@ -1005,10 +1004,6 @@ static void ide_init_queue(ide_drive_t *
static void ide_init_drive(ide_drive_t *drive)
{
ide_toggle_bounce(drive, 1);
-
-#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
- HWIF(drive)->ide_dma_queued_on(drive);
-#endif
}

/*
diff -puN drivers/ide/ide-dma.c~ide-tcq-init-fixes drivers/ide/ide-dma.c
--- linux-2.5.73/drivers/ide/ide-dma.c~ide-tcq-init-fixes Tue Jun 24 14:56:57 2003
+++ linux-2.5.73-root/drivers/ide/ide-dma.c Tue Jun 24 15:16:34 2003
@@ -523,8 +523,7 @@ int __ide_dma_off_quietly (ide_drive_t *
if (HWIF(drive)->ide_dma_host_off(drive))
return 1;

- if (drive->queue_setup)
- HWIF(drive)->ide_dma_queued_off(drive);
+ HWIF(drive)->ide_dma_queued_off(drive);

return 0;
}
@@ -585,8 +584,9 @@ int __ide_dma_on (ide_drive_t *drive)
if (HWIF(drive)->ide_dma_host_on(drive))
return 1;

- if (drive->queue_setup)
- HWIF(drive)->ide_dma_queued_on(drive);
+#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
+ HWIF(drive)->ide_dma_queued_on(drive);
+#endif

return 0;
}
diff -puN drivers/ide/ide-tcq.c~ide-tcq-init-fixes drivers/ide/ide-tcq.c
--- linux-2.5.73/drivers/ide/ide-tcq.c~ide-tcq-init-fixes Tue Jun 24 14:57:10 2003
+++ linux-2.5.73-root/drivers/ide/ide-tcq.c Tue Jun 24 15:40:26 2003
@@ -501,8 +501,10 @@ static int ide_tcq_configure(ide_drive_t
* bit 14 and 1 must be set in word 83 of the device id to indicate
* support for dma queued protocol, and bit 15 must be cleared
*/
- if ((drive->id->command_set_2 & tcq_bits) ^ tcq_mask)
+ if ((drive->id->command_set_2 & tcq_bits) ^ tcq_mask) {
+ printk(KERN_INFO "%s: TCQ not supported\n", drive->name);
return -EIO;
+ }

args = kmalloc(sizeof(*args), GFP_ATOMIC);
if (!args)
@@ -655,16 +657,20 @@ static int ide_tcq_check_blacklist(ide_d

int __ide_dma_queued_on(ide_drive_t *drive)
{
+ ide_hwif_t *hwif = HWIF(drive);
+
+ if (drive->media != ide_disk)
+ return 1;
if (!drive->using_dma)
return 1;
- if (HWIF(drive)->chipset == ide_pdc4030)
+ if (hwif->chipset == ide_pdc4030)
return 1;
if (ide_tcq_check_blacklist(drive)) {
printk(KERN_WARNING "%s: tcq forbidden by blacklist\n",
drive->name);
return 1;
}
- if (drive->next != drive) {
+ if (hwif->drives[0].present && hwif->drives[1].present) {
printk(KERN_WARNING "%s: only one drive on a channel supported"
" for tcq\n", drive->name);
return 1;
@@ -681,6 +687,8 @@ int __ide_dma_queued_on(ide_drive_t *dri

int __ide_dma_queued_off(ide_drive_t *drive)
{
+ if (drive->media != ide_disk)
+ return 1;
if (ata_pending_commands(drive)) {
printk("ide-tcq; can't toggle tcq feature on busy drive\n");
return 1;
diff -puN include/linux/ide.h~ide-tcq-init-fixes include/linux/ide.h
--- linux-2.5.73/include/linux/ide.h~ide-tcq-init-fixes Tue Jun 24 14:56:57 2003
+++ linux-2.5.73-root/include/linux/ide.h Tue Jun 24 14:56:57 2003
@@ -726,7 +726,6 @@ typedef struct ide_drive_s {
unsigned ata_flash : 1; /* 1=present, 0=default */
unsigned blocked : 1; /* 1=powermanagment told us not to do anything, so sleep nicely */
unsigned vdma : 1; /* 1=doing PIO over DMA 0=doing normal DMA */
- unsigned queue_setup : 1;
unsigned addressing; /* : 3;
* 0=28-bit
* 1=48-bit

_

2003-06-24 14:14:46

by Jeff Garzik

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

Bartlomiej Zolnierkiewicz wrote:
> TCQ shouldn't be enabled on hdc, you have two drives on second ide
> channel and current TCQ driver design allows only one drive per channel,
> so proper fix is to not enable TCQ :-).


IMO the best rule is "enable TCQ if and only if 100% of the channel
supports TCQ".

So, two drives on the same channel can do TCQ, if and only if they both
support TCQ. That's a big benefit of bus release, after all,
simultaneously servicing multiple drives. The device-select and service
interrupt semantics are annoying but doable.

Jeff



2003-06-24 14:33:31

by Jens Axboe

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Tue, Jun 24 2003, Jeff Garzik wrote:
> Bartlomiej Zolnierkiewicz wrote:
> >TCQ shouldn't be enabled on hdc, you have two drives on second ide
> >channel and current TCQ driver design allows only one drive per channel,
> >so proper fix is to not enable TCQ :-).
>
>
> IMO the best rule is "enable TCQ if and only if 100% of the channel
> supports TCQ".
>
> So, two drives on the same channel can do TCQ, if and only if they both
> support TCQ. That's a big benefit of bus release, after all,
> simultaneously servicing multiple drives. The device-select and service
> interrupt semantics are annoying but doable.

ide-tcq is even more restrictive now, it only enables TCQ if the drive
is alone on the channel. Feel free to write the device select code if
you want, I'm not mucking more with the bastard that is ide tcq.

--
Jens Axboe

2003-06-24 15:25:44

by Jeff Garzik

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

Jens Axboe wrote:
> ide-tcq is even more restrictive now, it only enables TCQ if the drive
> is alone on the channel. Feel free to write the device select code if
> you want, I'm not mucking more with the bastard that is ide tcq.

hehe! I don't blame you ;-)

I plan to write the devsel code, but for my ata-scsi driver... :/ It
will go into libata, which I would love to have sharing code with
drivers/ide...

Jeff



2003-06-24 22:28:43

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:

> Corrected patch below...

Taking this 2nd IDE patch, my boot-up looks as shown below. I still have
to test the taskfile thing again, but I cannot find my girlfriends
digital camera right now:)

MfG, JBG

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: WDC AC2850F, ATA DISK drive
hdb: IC35L040AVER07-0, ATA DISK drive
hda: tcq forbidden by blacklist
hdb: only one drive on a channel supported for tcq
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: IC35L120AVV207-0, ATA DISK drive
hdd: Maxtor 4W100H6, ATA DISK drive
hdc: only one drive on a channel supported for tcq
hdd: only one drive on a channel supported for tcq
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hda: task_no_data_intr: error=0x04 { DriveStatusError }
hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
hda: hda1 hda2 hda3
hdb: max request size: 128KiB
hdb: host protected area => 1
hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
hdb: hdb1 hdb2 hdb3 hdb4
hdc: max request size: 1024KiB
hdc: host protected area => 1
hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
hdd: max request size: 128KiB
hdd: host protected area => 1
hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >
--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (2.26 kB)
(No filename) (189.00 B)
Download all attachments
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:

> On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> wrote in message <[email protected]>:
>
> > Corrected patch below...
>
> Taking this 2nd IDE patch, my boot-up looks as shown below. I still have

Thanks for testing, it looks okay now.

> to test the taskfile thing again, but I cannot find my girlfriends
> digital camera right now:)

:-)

> MfG, JBG
>
> Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PIIX4: IDE controller at PCI slot 00:07.1
> PIIX4: chipset revision 1
> PIIX4: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
> hda: WDC AC2850F, ATA DISK drive
> hdb: IC35L040AVER07-0, ATA DISK drive
> hda: tcq forbidden by blacklist
> hdb: only one drive on a channel supported for tcq
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> hdc: IC35L120AVV207-0, ATA DISK drive
> hdd: Maxtor 4W100H6, ATA DISK drive
> hdc: only one drive on a channel supported for tcq
> hdd: only one drive on a channel supported for tcq
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: max request size: 128KiB
> hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> hda: task_no_data_intr: error=0x04 { DriveStatusError }
> hda: 1667232 sectors (854 MB) w/64KiB Cache, CHS=1654/16/63, DMA
> hda: hda1 hda2 hda3
> hdb: max request size: 128KiB
> hdb: host protected area => 1
> hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=79780/16/63, UDMA(33)
> hdb: hdb1 hdb2 hdb3 hdb4
> hdc: max request size: 1024KiB
> hdc: host protected area => 1
> hdc: 241254720 sectors (123522 MB) w/1821KiB Cache, CHS=15017/255/63, UDMA(33)
> hdc: hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 hdc14 hdc15 hdc16 hdc17 >
> hdd: max request size: 128KiB
> hdd: host protected area => 1
> hdd: 195711264 sectors (100204 MB) w/2048KiB Cache, CHS=194158/16/63, UDMA(33)
> hdd: hdd1 < hdd5 hdd6 hdd7 hdd8 hdd9 hdd10 hdd11 hdd12 hdd13 hdd14 >
> --
> Jan-Benedict Glaw [email protected] . +49-172-7608481
> "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
> fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
> ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));

2003-06-25 18:08:13

by Jan-Benedict Glaw

[permalink] [raw]
Subject: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Wed, 2003-06-25 01:08:13 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > wrote in message <[email protected]>:
> >
> > > Corrected patch below...
> >
> > Taking this 2nd IDE patch, my boot-up looks as shown below. I still have
>
> Thanks for testing, it looks okay now.
>
> > to test the taskfile thing again, but I cannot find my girlfriends
> > digital camera right now:)

Found the cam, downloaded any old pics, recompiled with taskfile I/O and
- nothing. 2.5.73 + your second IDE patch do work flawlessly on my old
box. The "clack clack clack" went away is if had never been
there...

So - thanks a lot for looking at my problem. Please feed your patch to
Linus as it seems to actually solve (at least my) problems.

However, allow me to ask why this occured never bevore (for other
people)? Do they all have only one drive? Does nobody use TCQ? Nobody
with old hardware (though, your patch hasn't touched the core PIIX
parts...)?

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (1.51 kB)
(No filename) (189.00 B)
Download all attachments
Subject: Re: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)


On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:

> On Wed, 2003-06-25 01:08:13 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> wrote in message <[email protected]>:
> > On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > > On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > > wrote in message <[email protected]>:
> > >
> > > > Corrected patch below...
> > >
> > > Taking this 2nd IDE patch, my boot-up looks as shown below. I still have
> >
> > Thanks for testing, it looks okay now.
> >
> > > to test the taskfile thing again, but I cannot find my girlfriends
> > > digital camera right now:)
>
> Found the cam, downloaded any old pics, recompiled with taskfile I/O and
> - nothing. 2.5.73 + your second IDE patch do work flawlessly on my old
> box. The "clack clack clack" went away is if had never been
> there...

:-)

> So - thanks a lot for looking at my problem. Please feed your patch to
> Linus as it seems to actually solve (at least my) problems.
>
> However, allow me to ask why this occured never bevore (for other
> people)? Do they all have only one drive? Does nobody use TCQ? Nobody
> with old hardware (though, your patch hasn't touched the core PIIX
> parts...)?

nobody is stupid^H^Hbrave enough to use TCQ ;-)

Thanks,
--
Bartlomiej

> MfG, JBG
>
> --
> Jan-Benedict Glaw [email protected] . +49-172-7608481
> "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
> fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
> ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));

2003-06-25 18:51:20

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Wed, 2003-06-25 20:44:19 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > On Wed, 2003-06-25 01:08:13 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > wrote in message <[email protected]>:
> > > On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > > > On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > > > wrote in message <[email protected]>:

> > However, allow me to ask why this occured never bevore (for other
> > people)? Do they all have only one drive? Does nobody use TCQ? Nobody
> > with old hardware (though, your patch hasn't touched the core PIIX
> > parts...)?
>
> nobody is stupid^H^Hbrave enough to use TCQ ;-)

Well... I knew that it was, erm, brave to use it at some time (this box
isn't really important - if I kill its filesystems, I'll simply
re-install and recover my mirror scripts:) , but new, where 2.5.x
starts to be really useable, I'd suggest to face users with upcoming
problems:

CONFIG_IDE_TASKFILE_IO
It is safe to say Y to this question, in most cases.

(By the way, exactly which cases are ment?)


CONFIG_BLK_DEV_IDE_TCQ
If you have such a drive, say Y here.


CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
Generally say Y here.


CONFIG_BLK_DEV_IDE_TCQ_DEPTH
You probably just want the default of 32 here.

(Default queue depth is 8, not 32...)


Right now, I'm building 2.5.73-bk3 + your 2nd patch. Let's face it:)

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (1.92 kB)
(No filename) (189.00 B)
Download all attachments
Subject: Re: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)


On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:

> On Wed, 2003-06-25 20:44:19 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> wrote in message <[email protected]>:
> > On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > > On Wed, 2003-06-25 01:08:13 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > > wrote in message <[email protected]>:
> > > > On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:
> > > > > On Tue, 2003-06-24 15:44:36 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
> > > > > wrote in message <[email protected]>:
>
> > > However, allow me to ask why this occured never bevore (for other
> > > people)? Do they all have only one drive? Does nobody use TCQ? Nobody
> > > with old hardware (though, your patch hasn't touched the core PIIX
> > > parts...)?
> >
> > nobody is stupid^H^Hbrave enough to use TCQ ;-)
>
> Well... I knew that it was, erm, brave to use it at some time (this box
> isn't really important - if I kill its filesystems, I'll simply
> re-install and recover my mirror scripts:) , but new, where 2.5.x
> starts to be really useable, I'd suggest to face users with upcoming
> problems:

I think 2.5.x is really useable.

> CONFIG_IDE_TASKFILE_IO
> It is safe to say Y to this question, in most cases.
>
> (By the way, exactly which cases are ment?)

Ehh... 3 weird bugreports (all are oopses):
- on x86_64 with 32 bit userspace when reading /proc/ide/hdx/identify
- in task_mulout_intr() on access to freed rq->bio
- "bad: scheduling while atomic"

I don't have any ideas how to find&fix these bugs...

> CONFIG_BLK_DEV_IDE_TCQ
> If you have such a drive, say Y here.

TCQ is marked (EXPERIMENTAL) but there should be warning
about potential risk... :-)

> CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
> Generally say Y here.
>
>
> CONFIG_BLK_DEV_IDE_TCQ_DEPTH
> You probably just want the default of 32 here.
>
> (Default queue depth is 8, not 32...)

Jens did some testing ages ago and 8 was optimal...

> Right now, I'm building 2.5.73-bk3 + your 2nd patch. Let's face it:)

Okay. :-)
--
Bartlomiej

> MfG, JBG
>
> --
> Jan-Benedict Glaw [email protected] . +49-172-7608481
> "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
> fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
> ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));

2003-06-26 03:18:55

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Wed, 25 Jun 2003, Bartlomiej Zolnierkiewicz wrote:

> Ehh... 3 weird bugreports (all are oopses):
> - on x86_64 with 32 bit userspace when reading /proc/ide/hdx/identify
> - in task_mulout_intr() on access to freed rq->bio
> - "bad: scheduling while atomic"

Perhaps if you can point me towards that one, i can try and give a hand

Zwane
--
function.linuxpower.ca

2003-06-26 05:44:13

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: SOLVED - Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Wed, 2003-06-25 21:30:02 +0200, Bartlomiej Zolnierkiewicz <[email protected]>
wrote in message <[email protected]>:
> On Wed, 25 Jun 2003, Jan-Benedict Glaw wrote:

> > Right now, I'm building 2.5.73-bk3 + your 2nd patch. Let's face it:)
> Okay. :-)

2.5.73-bk3 with TCQ and Taskfile-I/O

[X] Works

Good job!

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (680.00 B)
(No filename) (189.00 B)
Download all attachments

2003-06-29 02:07:02

by Andre Hedrick

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


The best rule is to default it off and let the end user enable regardless.
Thus the default will NEVER encounter the issues seen now.

Andre Hedrick
LAD Storage Consulting Group

On Tue, 24 Jun 2003, Jeff Garzik wrote:

> Bartlomiej Zolnierkiewicz wrote:
> > TCQ shouldn't be enabled on hdc, you have two drives on second ide
> > channel and current TCQ driver design allows only one drive per channel,
> > so proper fix is to not enable TCQ :-).
>
>
> IMO the best rule is "enable TCQ if and only if 100% of the channel
> supports TCQ".
>
> So, two drives on the same channel can do TCQ, if and only if they both
> support TCQ. That's a big benefit of bus release, after all,
> simultaneously servicing multiple drives. The device-select and service
> interrupt semantics are annoying but doable.
>
> Jeff
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2003-06-29 08:00:33

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Sat, 2003-06-28 19:17:53 -0700, Andre Hedrick <[email protected]>
wrote in message <[email protected]>:
>
> The best rule is to default it off and let the end user enable regardless.
> Thus the default will NEVER encounter the issues seen now.

While I was the one who initially had the "trouble", I was thankful for
having a "Switch It On by Default" option. I don't exactly know what the
patch did to the IDE subsystem (personally I'm not really into IDE...),
but I'd unhide a problem (either my dumb drive/controller setup or a bug
in Linux' IDE code) and so - one more bug down (at least from my point
of view). That's a good thing, IMHO.

This *is* why I'm using 2.5.x - there's actually a chance to easily find
bugs with everybody's hardware:)

MfG, JBG

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (1.08 kB)
(No filename) (189.00 B)
Download all attachments

2003-06-29 09:19:35

by Andre Hedrick

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)


You missed a point.

Defaulting to off means stablity for the masses.
Enduser enable is for testing to get it correct.
Regardless, it was my $0.02 for the thread.

Cheers,

Andre Hedrick
LAD Storage Consulting Group

On Sun, 29 Jun 2003, Jan-Benedict Glaw wrote:

> On Sat, 2003-06-28 19:17:53 -0700, Andre Hedrick <[email protected]>
> wrote in message <[email protected]>:
> >
> > The best rule is to default it off and let the end user enable regardless.
> > Thus the default will NEVER encounter the issues seen now.
>
> While I was the one who initially had the "trouble", I was thankful for
> having a "Switch It On by Default" option. I don't exactly know what the
> patch did to the IDE subsystem (personally I'm not really into IDE...),
> but I'd unhide a problem (either my dumb drive/controller setup or a bug
> in Linux' IDE code) and so - one more bug down (at least from my point
> of view). That's a good thing, IMHO.
>
> This *is* why I'm using 2.5.x - there's actually a chance to easily find
> bugs with everybody's hardware:)
>
> MfG, JBG
>
> --
> Jan-Benedict Glaw [email protected] . +49-172-7608481
> "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
> fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
> ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
>

2003-06-29 10:31:09

by Jan-Benedict Glaw

[permalink] [raw]
Subject: Re: Testing IDE-TCQ and Taskfile - doesn't work nicely:)

On Sun, 2003-06-29 02:30:29 -0700, Andre Hedrick <[email protected]>
wrote in message <[email protected]>:
>
> You missed a point.
>
> Defaulting to off means stablity for the masses.
> Enduser enable is for testing to get it correct.
> Regardless, it was my $0.02 for the thread.

No, I didn't. We're in 2.5.x timeline and doing early testing (esp. with
"exotic" or rarely used features) is IMHO best done at early times. THis
is why I did it. For now, I don't exactly care for pure stability _if_ a
user can easily choose really dangerous code, esp. if it's advised as
experimental, but "you should say yes" in it's help text. This is, I
like to compile with many features to see where it breaks.

Not doing this means to walk through a mines field later, at 2.6.x
times. That is playing minesweeper with some poor end user. No good...

MfG, JBG
Btw., that patch got merged to Linus and I'm currently running
2.5.73-bk6 with TF and TCQ enabled (in config, but gets somewhat
disabled because of missing hardware of too many drives per channel) on
a laptop and my (quite a bit loaded) mirror box. No problems /
corruption so far:)

--
Jan-Benedict Glaw [email protected] . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier B?rger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));


Attachments:
(No filename) (1.44 kB)
(No filename) (189.00 B)
Download all attachments