HPT 374 Fast in knoppix 3.7 Slow in Debian SID

From: Jesús Ángel (QUITAjpozdomQUITA_at_QUITAusuarios.retecal.esQUITA)
Date: 03/28/05


Date: Mon, 28 Mar 2005 21:42:30 +0200

Hello.

I have a HighPoint RocketRaid 1542 SATA PCI card with a HPT 374 chipset.
I have compiled a custom 2.6.11 kernel in a Debian SID box selecting the
following options:
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
...
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
...
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_OFFBOARD=y
CONFIG_BLK_DEV_GENERIC=y
...
CONFIG_BLK_DEV_IDEDMA_PCI=y
...
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
...
CONFIG_BLK_DEV_PDC202XX_OLD=y
CONFIG_PDC202XX_BURST=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_PDC202XX_FORCE=y
...
CONFIG_BLK_DEV_VIA82CXXX=y
...
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_IVB=y
CONFIG_IDEDMA_AUTO=y

Connected to the HPT374 there is a ATA/150 Maxtor 6B200M0 hard disk.
In Debian a hdparm -tT /dev/hde shows:
  Timing cached reads: 680 MB in 2.01 seconds = 338.36 MB/sec
  Timing buffered disk reads: 40 MB in 3.07 seconds = 13.03 MB/sec

If a make the test booting from a knoppix 3.7 with kernel 2.4.28 I get
Timing buffered disk reads = 61 MB/sec. If a select the 2.6.10 kernel in
the knoppix boot prompt I get Timing buffered disk reads=41 MB/sec

Why is the HPT374 so slow in my Debian box? I have tried with several
kernels but I have got always the same results (13 MB/sec aprox.)

These are the boot messages related with the HPT374. As you can see the
ATA/150 hard disk (hde) is detected as UDMA(33).

# dmesg
Linux version 2.6.11 (root@jesusangel) (gcc version 2.95.4 20011002
(Debian prerelease)) #1 Sun Mar 27 16:05:30 CEST 2005
...
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:04.1
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci0000:00:04.1
     ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:DMA
     ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: ST38421A, ATA DISK drive
hdb: ST380011A, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: JLMS XJ-HD166S, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
HPT374: IDE controller at PCI slot 0000:00:0b.0
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI interrupt 0000:00:0b.0[A] -> GSI 10 (level, low) -> IRQ 10
HPT374: chipset revision 7
HPT37X: using 33MHz PCI clock
HPT374: 100% native mode on irq 10
     ide2: BM-DMA at 0x7400-0x7407, BIOS settings: hde:DMA, hdf:pio
     ide3: BM-DMA at 0x7408-0x740f, BIOS settings: hdg:pio, hdh:pio
ACPI: PCI interrupt 0000:00:0b.1[A] -> GSI 10 (level, low) -> IRQ 10
HPT37X: using 33MHz PCI clock
     ide4: BM-DMA at 0x5800-0x5807, BIOS settings: hdi:pio, hdj:pio
     ide5: BM-DMA at 0x5808-0x580f, BIOS settings: hdk:pio, hdl:pio
Probing IDE interface ide2...
hde: Maxtor 6B200M0, ATA DISK drive
ide2 at 0x8800-0x8807,0x8402 on irq 10
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
PDC20265: IDE controller at PCI slot 0000:00:11.0
ACPI: PCI interrupt 0000:00:11.0[A] -> GSI 10 (level, low) -> IRQ 10
PDC20265: chipset revision 2
PDC20265: 100% native mode on irq 10
PDC20265: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
PDC20265: FORCING BURST BIT 0x00->0x01 ACTIVE
     ide6: BM-DMA at 0x3800-0x3807, BIOS settings: hdm:pio, hdn:DMA
     ide7: BM-DMA at 0x3808-0x380f, BIOS settings: hdo:pio, hdp:pio
Probing IDE interface ide6...
Probing IDE interface ide7...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
Probing IDE interface ide6...
Probing IDE interface ide7...
hda: max request size: 128KiB
hda: 16498944 sectors (8447 MB) w/256KiB Cache, CHS=16368/16/63, UDMA(66)
hda: cache flushes not supported
  hda: hda1 hda2
hdb: max request size: 1024KiB
hdb: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=16383/255/63,
UDMA(66)
hdb: cache flushes supported
  hdb: hdb1
hde: max request size: 1024KiB
hde: 398297088 sectors (203928 MB) w/8192KiB Cache, CHS=24792/255/63,
UDMA(33)
hde: cache flushes supported
  hde: hde1 hde2 hde3 hde4
hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
...
hde: drive_cmd: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: 0xb0
hde: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hde: drive not ready for command
hde: drive_cmd: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: 0xb0
hde: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hde: drive not ready for command
hde: drive_cmd: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: 0xec
hde: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: 0xa1
hde: drive not ready for command
hde: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hde: drive not ready for command

root@jesusangel:~# hdparm -V
hdparm v5.9

root@jesusangel:~# hdparm /dev/hde

/dev/hde:
  multcount = 16 (on)
  IO_support = 0 (default 16-bit)
  unmaskirq = 0 (off)
  using_dma = 1 (on)
  keepsettings = 0 (off)
  readonly = 0 (off)
  readahead = 256 (on)
  geometry = 24792/255/63, sectors = 398297088, start = 0

Note: I have tried this: -c1 -u1 -m16 but the results are the same (13
MB/sec). In knoppix the readahead is set to 8.

root@jesusangel:~# hdparm -i /dev/hde

/dev/hde:

  Model=Maxtor 6B200M0, FwRev=BANC1B70, SerialNo=B41HDHPH
  Config={ Fixed }
  RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
  BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
  CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
  IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
  PIO modes: pio0 pio1 pio2 pio3 pio4
  DMA modes: mdma0 mdma1 mdma2
  UDMA modes: udma0 udma1 *udma2
  AdvancedPM=yes: disabled (255) WriteCache=enabled
  Drive conforms to: (null):

  * signifies the current active mode

root@jesusangel:~# hdparm -I /dev/hde

/dev/hde:
  HDIO_DRIVE_CMD(identify) failed: Input/output error

Note: this works OK in knoppix but not in Debian.

How can I improve the performance of the HPT374 in Debian?

I have tried the HighPoint driver. With it I get 41 MB/sec but I can't
compile it inside the kernel, only as module and with it the hde is seen
as /dev/sda. With initrd I am able to boot from /dev/sda but I want to
use the open source driver shipped with the kernel (like in the knoppix).

Thanks in advance.



Relevant Pages

  • HPT374: Fast in Knoppix 3.7 but slow in Debian SID. Why?
    ... I have a HighPoint RocketRaid 1542 SATA PCI card with a HPT 374 chipset. ... ATA/150 hard disk (hde) is detected as UDMA. ... Probing IDE interface ide0... ... hde: status error: status=0x58 {DriveReady SeekComplete DataRequest} ...
    (comp.os.linux.hardware)
  • Re: [patch] Real-Time Preemption, -VP-2.6.9-rc4-mm1-U1
    ... PCI: PCI BIOS revision 2.10 entry at 0xfdb01, ... PCI: IRQ 0 for device 0000:00:02.1 doesn't match PIRQ mask - try pci=usepirqmask ... Probing IDE interface ide0... ... mounted filesystem with ordered data mode. ...
    (Linux-Kernel)
  • Re: [patch] Real-Time Preemption, -VP-2.6.9-rc4-mm1-U1
    ... PCI: PCI BIOS revision 2.10 entry at 0xfdb01, ... PCI: IRQ 0 for device 0000:00:02.1 doesn't match PIRQ mask - try pci=usepirqmask ... Probing IDE interface ide0... ... mounted filesystem with ordered data mode. ...
    (Linux-Kernel)
  • Problem with irqrouting and resume
    ... So with routeirq we get irq initialization before the actual ... resume, one field of the pci configspace is diffrent, before suspend ... ACPI: setting ELCR to 0200 ... Probing IDE interface ide0... ...
    (Linux-Kernel)
  • Re: Plextor PX-716A DVD burner and xine (details)
    ... ACPI: PCI Root Bridge ... skipping probe ... Probing IDE interface ide1... ... SCSI device sda: 117210240 512-byte hdwr sectors ...
    (Fedora)