Skip to contentSkip to conversation

poor IDE performance on ASUS P4PE with WD800JB

DISCUSSION Tom Winkler 5 participants 5 messages Jan 26, 2003 – Jan 27, 2003

lore
Share & tools
lore
#0 lore raw

Hi,

I've asked this question in several Newsgroups but nobody was really able to answer it. That's why I decided to send it to LKM. Please CC me on your replies. Thanks!

I've got a question related to ide performance. First of all my hardware:
Mainboard: ASUS P4PE (using onboard IDE but not S-ATA)
http://www.asus.com/products/mb/socket478/p4pe/overview.htm
Harddisk: Western Digital WD800JB
http://www.westerndigital.com/products/products.asp?DriveID=32

Now about the current performance (on 2.4.20 and almost the same on 2.5.56):

tom@storm:~$ sudo hdparm -tT /dev/hda
/dev/hda:
 Timing buffer-cache reads:   128 MB in  0.27 seconds =474.07 MB/sec
 Timing buffered disk reads:  64 MB in  3.05 seconds = 20.98 MB/sec

The cache read time is pretty ok but the disk read time is below of what I'd have expected. My expectations would have been around 40MB/sec.

Am I wrong with my expectations for this setup?
I'd really be interested in any suggestion about how I could omptimize the system.

And here's some more information about the current settings (let me know if you need anything else):

tom@storm:~$ sudo hdparm /dev/hda
/dev/hda:
 multcount    = 16 (on)
 I/O support  =  3 (32-bit w/sync)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    = 255 (on)
 geometry     = 9729/255/63, sectors = 156301488, start = 0
 busstate     =  1 (on)
tom@storm:~$ sudo cat /proc/ide/hda/settings
name                    value           min             max             mode
----                    -----           ---             ---             ----
acoustic                0               0               254             rw
address                 0               0               2               rw
bios_cyl                9729            0               65535           rw
bios_head               255             0               255             rw
bios_sect               63              0               63              rw
breada_readahead        255             0               255             rw
bswap                   0               0               1               r
current_speed           69              0               69              rw
failures                0               0               65535           rw
file_readahead          16384           0               16384           rw
ide_scsi                0               0               1               rw
init_speed              69              0               69              rw
io_32bit                3               0               3               rw
keepsettings            0               0               1               rw
lun                     0               0               7               rw
max_failures            1               0               65535           rw
max_kb_per_request      255             1               255             rw
multcount               16              0               16              rw
nice1                   1               0               1               rw
nowerr                  0               0               1               rw
number                  0               0               3               rw
pio_mode                write-only      0               255             w
slow                    0               0               1               rw
unmaskirq               1               0               1               rw
using_dma               1               0               1               rw
wcache                  0               0               1               rw
tom@storm:~$ sudo hdparm -I /dev/hda
/dev/hda:
non-removable ATA device, with non-removable media
        Model Number:           WDC WD800JB-00CRA1
        Serial Number:          WD-WMA8E3710419
        Firmware Revision:      17.07W17
Standards:
        Supported: 1 2 3 4 5
        Likely used: 5
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        bytes/track:    57600           (obsolete)
        bytes/sector:   600             (obsolete)
        current sector capacity: 16514064
        LBA user addressable sectors = 156301488
Capabilities:
        LBA, IORDY(can be disabled)
        Buffer size: 8192.0kB   ECC bytes: 40   Queue depth: 1
        Standby timer values: spec'd by standard, with device specific minimum
        r/w multiple sector transfer: Max = 16  Current = 16
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    READ BUFFER cmd
           *    WRITE BUFFER cmd
           *    Host Protected Area feature set
           *    look-ahead
           *    write cache
           *    Power Management feature set
                Security Mode feature set
                SMART feature set
                SET MAX security extension
           *    DOWNLOAD MICROCODE cmd
Security:
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
        not     supported: enhanced erase
HW reset results:
        CBLID- above Vih
        Device num = 0 determined by the jumper
Checksum: correct

A full dmesg dump can be found at http://www.wnk.at/files/dmesg.txt

Thanks very much,

Signature · 1 line
Tom Winkler
#1 lore raw
Quoted 6 lines · Tom Winkler

Hi,

I've asked this question in several Newsgroups but nobody was really able to answer it. That's why I decided to send it to LKM. Please CC me on your replies. Thanks!

Quoted 7 lines

I've got a question related to ide performance. First of all my hardware:
Mainboard: ASUS P4PE (using onboard IDE but not S-ATA)
http://www.asus.com/products/mb/socket478/p4pe/overview.htm
Harddisk: Western Digital WD800JB
http://www.westerndigital.com/products/products.asp?DriveID=32

Well I have the same P4PE and here are mine:

hdparm -I /dev/hda

/dev/hda:

ATA device, with non-removable media

       Model Number:       WDC WD300BB-00AUA1
       Serial Number:      WD-WMA6W2128969
       Firmware Revision:  18.20D18

Standards:
Supported: 5 4 3 2
Likely used: 6
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 58633344
device size with M = 1024*1024: 28629 MBytes
device size with M = 1000*1000: 30020 MBytes (30 GB)
Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 40 Queue depth: 1
Standby timer values: spec'd by Standard, with device specific
minimum
R/W multiple sector transfer: Max = 16 Current = 16 Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
-------------------------------------------------------------------------------------------
hdparm -tT /dev/hda

/dev/hda:

Timing buffer-cache reads:   128 MB in  0.35 seconds =365.71 MB/sec
Timing buffered disk reads:  64 MB in  2.00 seconds = 32.00 MB/sec
------------------------------------------------------------------------------------------
cat /proc/ide/hda/settings
name                        value           min             max             mode
----                            -----           ---                 ---             ----
acoustic                        0               0               254             rw
address                         0               0               2                 rw

bios_cyl 3649 0 65535 rw
bios_head 255 0 255 rw
bios_sect 63 0 63 rw
breada_readahead 8 0 255 rw
bswap 0 0 1 r
current_speed 69 0 70 rw
failures 0 0 65535 rw
file_readahead 124 0 16384 rw
init_speed 69 0 70 rw
io_32bit 0 0 3 rw
keepsettings 0 0 1 rw
lun 0 0 7 rw
max_failures 1 0 65535 rw
max_kb_per_request 128 1 255 rw
multcount 16 0 16 rw
nice1 1 0 1 rw
nowerr 0 0 1 rw
number 0 0 3 rw
pio_mode write-only 0 255 w
slow 0 0 1 rw
unmaskirq 0 0 1 rw
using_dma 1 0 1 rw
wcache 0 0 1 rw

#2 lore raw
In reply to Tom Winkler
Quoted 2 lines · Tom Winkler

The cache read time is pretty ok but the disk read time is below of what I'd have expected. My expectations would have been around 40MB/sec.

Indeed, I've got old Maxtor D740X-6L's that score in this range, even on old hardware.

What does 2.4.20 do for you, compared to the 2.4.20pre7 you are running?

Mike

#3 lore raw
In reply to Tom Winkler
Quoted 19 lines · Tom Winkler

I've asked this question in several Newsgroups but nobody was really able to answer it. That's why I decided to send it to LKM. Please CC me on your replies. Thanks!

I've got a question related to ide performance. First of all my hardware:
Mainboard: ASUS P4PE (using onboard IDE but not S-ATA)
http://www.asus.com/products/mb/socket478/p4pe/overview.htm
Harddisk: Western Digital WD800JB
http://www.westerndigital.com/products/products.asp?DriveID=32

Now about the current performance (on 2.4.20 and almost the same on 2.5.56):

tom@storm:~$ sudo hdparm -tT /dev/hda
/dev/hda:
 Timing buffer-cache reads:   128 MB in  0.27 seconds =474.07 MB/sec
 Timing buffered disk reads:  64 MB in  3.05 seconds = 20.98 MB/sec
Quoted 6 lines

The cache read time is pretty ok but the disk read time is below of what I'd have expected. My expectations would have been around 40MB/sec.

Am I wrong with my expectations for this setup?
I'd really be interested in any suggestion about how I could omptimize the system.

I won't try to guess why my setup seems faster, but here's some info:

Script started on Mon Jan 27 16:05:52 2003
bash-2.05b# uname -a
Linux gaimboi.tmr.com 2.4.18-18.8.0 #1 Thu Nov 14 00:10:29 EST 2002 i686 i686 i386 GNU/Linux bash-2.05b# \

Quoted 6 lines

for disk in hda hdc; do
cat /proc/ide/$disk/model
hdparm -I /dev/$disk
hdparm -Tt /dev/$disk
cat /proc/ide/$disk/settings
done

WDC WD200EB-00CSF0

/dev/hda:

ATA device, with non-removable media

	Model Number:       WDC WD200EB-00CSF0                      
	Serial Number:      WD-WTAAV3724404
	Firmware Revision:  04.01B04
Standards:
	Supported: 5 4 3 2 
	Likely used: 6
Configuration:
	Logical		max	current
	cylinders	16383	16383
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:   16514064
	LBA    user addressable sectors:   39102336
	device size with M = 1024*1024:       19092 MBytes
	device size with M = 1000*1000:       20020 MBytes (20 GB)

Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 40 Queue depth: 1
Standby timer values: spec'd by Standard, with device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct

/dev/hda:
Timing buffer-cache reads: 128 MB in 0.26 seconds =492.78 MB/sec
Timing buffered disk reads: 64 MB in 2.26 seconds = 28.30 MB/sec
name value min max mode
---- ----- --- --- ----

acoustic                0               0               254             rw
address                 0               0               2               rw
bios_cyl                2434            0               65535           rw
bios_head               255             0               255             rw
bios_sect               63              0               63              rw
breada_readahead        8               0               255             rw
bswap                   0               0               1               r
current_speed           66              0               69              rw
failures                0               0               65535           rw
file_readahead          508             0               16384           rw
ide_scsi                0               0               1               rw
init_speed              66              0               69              rw
io_32bit                0               0               3               rw
keepsettings            0               0               1               rw
lun                     0               0               7               rw
max_failures            1               0               65535           rw
max_kb_per_request      128             1               255             rw
multcount               16              0               16              rw
nice1                   1               0               1               rw
nowerr                  0               0               1               rw
number                  0               0               3               rw
pio_mode                write-only      0               255             w
slow                    0               0               1               rw
unmaskirq               0               0               1               rw
using_dma               1               0               1               rw
wcache                  0               0               1               rw

ST360021A

/dev/hdc:

ATA device, with non-removable media

	Model Number:       ST360021A                               
	Serial Number:      3HR1C0F1            
	Firmware Revision:  3.19    
Standards:
	Supported: 5 4 3 2 
	Likely used: 6
Configuration:
	Logical		max	current
	cylinders	16383	16383
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:   16514064
	LBA    user addressable sectors:  117231408
	device size with M = 1024*1024:       57241 MBytes
	device size with M = 1000*1000:       60022 MBytes (60 GB)

Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 4 Queue depth: 1
Standby timer values: spec'd by Standard
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 128
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=240ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
Device Configuration Overlay feature set
* Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 1
Checksum: correct

/dev/hdc:
Timing buffer-cache reads: 128 MB in 0.26 seconds =492.78 MB/sec
Timing buffered disk reads: 64 MB in 1.58 seconds = 40.50 MB/sec
name value min max mode
---- ----- --- --- ----

acoustic                0               0               254             rw
address                 0               0               2               rw
bios_cyl                116301          0               65535           rw
bios_head               16              0               255             rw
bios_sect               63              0               63              rw
breada_readahead        8               0               255             rw
bswap                   0               0               1               r
current_speed           69              0               69              rw
failures                0               0               65535           rw
file_readahead          508             0               16384           rw
ide_scsi                0               0               1               rw
init_speed              69              0               69              rw
io_32bit                0               0               3               rw
keepsettings            0               0               1               rw
lun                     0               0               7               rw
max_failures            1               0               65535           rw
max_kb_per_request      128             1               255             rw
multcount               16              0               16              rw
nice1                   1               0               1               rw
nowerr                  0               0               1               rw
number                  2               0               3               rw
pio_mode                write-only      0               255             w
slow                    0               0               1               rw
unmaskirq               0               0               1               rw
using_dma               1               0               1               rw
wcache                  0               0               1               rw

bash-2.05b# exit

Script done on Mon Jan 27 16:18:40 2003

Quoted 102 lines

And here's some more information about the current settings (let me know if you need anything else):

tom@storm:~$ sudo hdparm /dev/hda
/dev/hda:
 multcount    = 16 (on)
 I/O support  =  3 (32-bit w/sync)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    = 255 (on)
 geometry     = 9729/255/63, sectors = 156301488, start = 0
 busstate     =  1 (on)
tom@storm:~$ sudo cat /proc/ide/hda/settings
name                    value           min             max             mode
----                    -----           ---             ---             ----
acoustic                0               0               254             rw
address                 0               0               2               rw
bios_cyl                9729            0               65535           rw
bios_head               255             0               255             rw
bios_sect               63              0               63              rw
breada_readahead        255             0               255             rw
bswap                   0               0               1               r
current_speed           69              0               69              rw
failures                0               0               65535           rw
file_readahead          16384           0               16384           rw
ide_scsi                0               0               1               rw
init_speed              69              0               69              rw
io_32bit                3               0               3               rw
keepsettings            0               0               1               rw
lun                     0               0               7               rw
max_failures            1               0               65535           rw
max_kb_per_request      255             1               255             rw
multcount               16              0               16              rw
nice1                   1               0               1               rw
nowerr                  0               0               1               rw
number                  0               0               3               rw
pio_mode                write-only      0               255             w
slow                    0               0               1               rw
unmaskirq               1               0               1               rw
using_dma               1               0               1               rw
wcache                  0               0               1               rw
tom@storm:~$ sudo hdparm -I /dev/hda
/dev/hda:
non-removable ATA device, with non-removable media
        Model Number:           WDC WD800JB-00CRA1
        Serial Number:          WD-WMA8E3710419
        Firmware Revision:      17.07W17
Standards:
        Supported: 1 2 3 4 5
        Likely used: 5
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        bytes/track:    57600           (obsolete)
        bytes/sector:   600             (obsolete)
        current sector capacity: 16514064
        LBA user addressable sectors = 156301488
Capabilities:
        LBA, IORDY(can be disabled)
        Buffer size: 8192.0kB   ECC bytes: 40   Queue depth: 1
        Standby timer values: spec'd by standard, with device specific minimum
        r/w multiple sector transfer: Max = 16  Current = 16
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    READ BUFFER cmd
           *    WRITE BUFFER cmd
           *    Host Protected Area feature set
           *    look-ahead
           *    write cache
           *    Power Management feature set
                Security Mode feature set
                SMART feature set
                SET MAX security extension
           *    DOWNLOAD MICROCODE cmd
Security:
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
        not     supported: enhanced erase
HW reset results:
        CBLID- above Vih
        Device num = 0 determined by the jumper
Checksum: correct

A full dmesg dump can be found at http://www.wnk.at/files/dmesg.txt

Signature · 3 lines
bill davidsen <[email protected]>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.
#4 lore raw

I'm using some maxtor on the same motherboard and I had to struggle a bit before getting some decent perf, basically I kept only the minimum IDE,ATA.. drivers in my kernel, for my P4PE it's the Intel PIIXn and also the PIIXn tuning option.
I also added idebus=66 in my command-line kernel option... I disabled the Promise Raid controller in the bios that was responsible for some 2.4.20 kernels to hang at detection (?)

now I get this :

# hdparm -tT /dev/hda

/dev/hda:
Timing buffer-cache reads: 128 MB in 0.30 seconds =426.67 MB/sec
Timing buffered disk reads: 64 MB in 1.38 seconds = 46.38 MB/sec

# hdparm -I /dev/hda

/dev/hda:

non-removable ATA device, with non-removable media

        Model Number:           Maxtor 6Y120P0
        Serial Number:          Y40FKPWE
        Firmware Revision:      YAR41VW0

Standards:
Supported: 1 2 3 4 5 6 7
Likely used: 7
Configuration:

        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        bytes/track:    0               (obsolete)
        bytes/sector:   0               (obsolete)

current sector capacity: 16514064
LBA user addressable sectors = 240121728
Capabilities:
LBA, IORDY(can be disabled)
Buffer size: 7936.0kB ECC bytes: 57 Queue depth: 1
Standby timer values: spec'd by standard, no device specific
minimum
r/w multiple sector transfer: Max = 16 Current = 16
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* look-ahead
* write cache
* Power Management feature set
Security Mode feature set
SMART feature set
SET MAX security extension
Advanced Power Management feature set
* DOWNLOAD MICROCODE cmd
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 0 determined by the jumper
Checksum: correct

this disk seems equivalent to your western digital.

my lspci :

00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host Bridge (rev 02) 00:01.0 PCI bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset AGP Bridge (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corp. 82801DB ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801DB ICH4 IDE (rev 02)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti4200] (rev a3) 02:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) 02:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

a lot of device don't appear here because I disabled them whilst looking for what is causing my maching to hang once every three days...

--
Quand les plombs pêtent : « Ðïsjüñ£t.¢€× »