2000-10-29 23:23:17

by Mohammad A. Haque

[permalink] [raw]
Subject: ide/disk perf?

Could someone who knows ide and drive inside and out (Andre?) please
take a look at these figures? Am I forgetting to do something (or doing
something I'm not suposed to) to get the best numbers? I thought I'd be
able to get more than ~4MB/sec off the HPT366 and a UDMA66 drive.

Kernel: 2.4.0-test10-pre6

Onboard PIIX4 (Abit BE6-II):

[mhaque@viper mhaque]$ sudo hdparm -X34 -d1 -u1 -c3 -m16 /dev/hda

/dev/hda:
setting 32-bit I/O support flag to 3
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
setting xfermode to 34 (multiword DMA mode2)
multcount = 16 (on)
I/O support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)

[mhaque@viper mhaque]$ dmesg|grep '^hda:'; sudo hdparm -Tt /dev/hda
hda: IBM-DJNA-371350, ATA DISK drive
hda: 26520480 sectors (13578 MB) w/1966KiB Cache, CHS=1650/255/63,
UDMA(33)

/dev/hda:
Timing buffer-cache reads: 128 MB in 1.12 seconds =114.29 MB/sec
Timing buffered disk reads: 64 MB in 4.94 seconds = 12.96 MB/sec

[mhaque@viper mhaque]$ sudo hdparm -i /dev/hda

/dev/hda:

Model=IBM-DJNA-371350, FwRev=J76OA30K, SerialNo=GM0GMFE4929
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=34
BuffType=3(DualPortCache), BuffSize=1966kB, MaxMultSect=16,
MultSect=16
DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=26520480
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 *mword2
IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4
UDMA modes: mode0 mode1 mode2 mode3 mode4



Onboard HPT366 (Abit BE6-II):

[mhaque@viper mhaque]$ sudo hdparm -X66 -d1 -u1 -c3 -m16 /dev/hde

/dev/hde:
setting 32-bit I/O support flag to 3
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
setting xfermode to 66 (UltraDMA mode2)
multcount = 16 (on)
I/O support = 3 (32-bit w/sync)
unmaskirq = 1 (on)
using_dma = 1 (on)

[mhaque@viper mhaque]$ dmesg|grep '^hde:'; sudo hdparm -Tt /dev/hde
hde: Maxtor 53073U6, ATA DISK drive
hde: 60030432 sectors (30736 MB) w/2048KiB Cache, CHS=59554/16/63,
UDMA(66)

/dev/hde:
Timing buffer-cache reads: 128 MB in 1.24 seconds =103.23 MB/sec
Timing buffered disk reads: 64 MB in 16.18 seconds = 3.96 MB/sec

[mhaque@viper mhaque]$ sudo hdparm -i /dev/hde

/dev/hde:

Model=Maxtor 53073U6, FwRev=DA6207V0, SerialNo=K608NRYC
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16,
MultSect=16
DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=0
CurCHS=65535/1/63, CurSects=-4128706, LBA=yes, LBAsects=60030432
tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
UDMA modes: mode0 mode1 *mode2 mode3 mode4


--

=====================================================================
Mohammad A. Haque http://www.haque.net/
[email protected]

"Alcohol and calculus don't mix. Project Lead
Don't drink and derive." --Unknown http://wm.themes.org/
[email protected]
=====================================================================


2000-10-30 12:07:39

by Pierre Etchemaite

[permalink] [raw]
Subject: RE: ide/disk perf?


Le 30-Oct-2000, Mohammad A. Haque ?crivait :
> Could someone who knows ide and drive inside and out (Andre?) please
> take a look at these figures? Am I forgetting to do something (or doing
> something I'm not suposed to) to get the best numbers? I thought I'd be
> able to get more than ~4MB/sec off the HPT366 and a UDMA66 drive.

It could be unrelated, but I had problems several times with Maxtor drives
recently; Their performances are usually high (some models give >20 Mb/s
both reads and writes), but under some conditions that I couldn't narrow down
yet, the read throughput is stuck to the floor (a few megabytes/sec) until
next reboot. The write performance is always ok.

I don't think it's a chipset problem, with a box filled with several Maxtor
drives and I observe the problem with some disk and not others at the same time.

I don't think it's a Linux problem either, since it can be observed with
Windows benchmarking tools too.


As a side note, I usually get better results tweaking disks using kernel
compiling options ("default to DMA", "autotune chipset", ...) than using hdparm
-d1 and friends, give it a try.


--
Linux blade.workgroup 2.4.0-test10 #1 Sat Oct 28 18:00:09 CEST 2000 i686 unknown
1:09pm up 1 day, 19:01, 2 users, load average: 1.04, 1.08, 1.09

2000-10-30 13:53:03

by Andrew Morton

[permalink] [raw]
Subject: Re: ide/disk perf?

Pierre Etchemaite wrote:
>
> Le 30-Oct-2000, Mohammad A. Haque ?crivait :
> > Could someone who knows ide and drive inside and out (Andre?) please
> > take a look at these figures? Am I forgetting to do something (or doing
> > something I'm not suposed to) to get the best numbers? I thought I'd be
> > able to get more than ~4MB/sec off the HPT366 and a UDMA66 drive.
>
> It could be unrelated, but I had problems several times with Maxtor drives
> recently; Their performances are usually high (some models give >20 Mb/s
> both reads and writes), but under some conditions that I couldn't narrow down
> yet, the read throughput is stuck to the floor (a few megabytes/sec) until
> next reboot. The write performance is always ok.

I had the same problem with Seagate ST313021A (13 gig) drives on
BP6/HPT366/UDMA66. Initial throughput reported by `hdparm -t' was 22
megs/sec which would slowly wilt to 5 megs/sec.

I discovered that sending _any_ reconfiguration command to the drive -
even one which was not supported by that particular drive - would bring
the performance back.

So when it goes slow, try running, say, `hdparm -A1' and see what
happens.

Andre and I scratched each others heads for a while, suspected a
firmware bug. He sent an email to a contact at Seagate. This was in
April, so I guess that person is a very slow typist.

2000-10-30 15:45:15

by Mohammad A. Haque

[permalink] [raw]
Subject: Re: ide/disk perf?

Interesting theory, but no go here.

I just remembered one other thing that may have an impact. I have a
IBM-DTLA-307045 (~45 GB i think) hanging off the same channel as slave.
The thing with that one is that if I try to do a lot of i/o on the
disk..my machine locks up. Hard. alt-sysReq doesn't even work.

I'll try disconnecting that drive when I get a chance but I welcome any
feedback/theories before I get home to do this.

Andrew Morton wrote:
>
> I had the same problem with Seagate ST313021A (13 gig) drives on
> BP6/HPT366/UDMA66. Initial throughput reported by `hdparm -t' was 22
> megs/sec which would slowly wilt to 5 megs/sec.
>
> I discovered that sending _any_ reconfiguration command to the drive -
> even one which was not supported by that particular drive - would bring
> the performance back.
>
> So when it goes slow, try running, say, `hdparm -A1' and see what
> happens.
>
> Andre and I scratched each others heads for a while, suspected a
> firmware bug. He sent an email to a contact at Seagate. This was in
> April, so I guess that person is a very slow typist.

--

=====================================================================
Mohammad A. Haque http://www.haque.net/
[email protected]

"Alcohol and calculus don't mix. Project Lead
Don't drink and derive." --Unknown http://wm.themes.org/
[email protected]
=====================================================================

2000-10-30 15:56:49

by Mohammad A. Haque

[permalink] [raw]
Subject: Re: ide/disk perf?

At the bottom is the IDE/ATA part of my .config. let me knwo if I am
missing something. Should I worry about the Multi_Mode configuration?

Pierre Etchemaite wrote:
> As a side note, I usually get better results tweaking disks using kernel
> compiling options ("default to DMA", "autotune chipset", ...) than using hdparm
> -d1 and friends, give it a try.
>
> --
> Linux blade.workgroup 2.4.0-test10 #1 Sat Oct 28 18:00:09 CEST 2000 i686 unknown
> 1:09pm up 1 day, 19:01, 2 users, load average: 1.04, 1.08, 1.09
>
# ATA/IDE/MFM/RLL support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
# CONFIG_BLK_DEV_IDEDISK_IBM is not set
# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
# CONFIG_BLK_DEV_IDEDISK_WD is not set
# CONFIG_BLK_DEV_COMMERIAL is not set
# CONFIG_BLK_DEV_TIVO is not set
# CONFIG_BLK_DEV_IDECS is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_AEC62XX_TUNING is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD7409 is not set
# CONFIG_AMD7409_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_PIIX_TUNING=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_BLK_DEV_OSB4 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_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y

--

=====================================================================
Mohammad A. Haque http://www.haque.net/
[email protected]

"Alcohol and calculus don't mix. Project Lead
Don't drink and derive." --Unknown http://wm.themes.org/
[email protected]
=====================================================================

2000-10-30 18:53:51

by Pierre Etchemaite

[permalink] [raw]
Subject: Re: ide/disk perf?


Le 30-Oct-2000, Mohammad Haque ?crivait :
> At the bottom is the IDE/ATA part of my .config. let me knwo if I am
> missing something. Should I worry about the Multi_Mode configuration?

I have it enabled, however I never used any HPT366 controller, so YMMV.
The BX chipset is what I tested the most.

># ATA/IDE/MFM/RLL support
>#
> CONFIG_IDE=y
> CONFIG_BLK_DEV_IDE=y
> CONFIG_BLK_DEV_IDEDISK=y
># CONFIG_IDEDISK_MULTI_MODE is not set
> CONFIG_BLK_DEV_IDECD=y
> CONFIG_BLK_DEV_IDESCSI=m
> CONFIG_BLK_DEV_IDEPCI=y
> CONFIG_IDEPCI_SHARE_IRQ=y
> CONFIG_BLK_DEV_IDEDMA_PCI=y
> CONFIG_BLK_DEV_OFFBOARD=y
> CONFIG_IDEDMA_PCI_AUTO=y
> CONFIG_BLK_DEV_IDEDMA=y
> CONFIG_BLK_DEV_HPT366=y
> CONFIG_BLK_DEV_PIIX=y
> CONFIG_PIIX_TUNING=y
> CONFIG_IDEDMA_AUTO=y
> CONFIG_BLK_DEV_IDE_MODES=y

Looks very similar to my own settings

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_PIIX_TUNING=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_IDE_MODES=y


But I only do

hdparm -qu1c1k1 idedevice

at boot time. Also, I've found

append="ide0=autotune ide1=autotune"

in my lilo.conf, left from earlier testing session. Remarks in ide.c say it
only has influence on PIO modes, so unless the comment is obsolete I guess I
could as well remove that line.

Best regards,
Pierre.


--
Linux blade.workgroup 2.4.0-test10 #1 Mon Oct 30 15:30:15 CET 2000 i686 unknown
7:55pm up 4:12, 5 users, load average: 1.11, 1.20, 1.38