Another slow disk permormance, very *low* disk read speed

Another slow disk permormance, very *low* disk read speed

Post by Jean-Pierre Morea » Fri, 18 Oct 2002 02:18:09



As in previous thread (started some days ago, and still active),
   '*Slow* disk performance, suggestions anyone?'
I have VERY SLOW disk speed, for a system that should be fast!

I get disk read around 1.5 MB/s, when nominal speed for UDMA 100
is 100 MB/s, as it should be from output of commands below.

I get SAME speed when I boot with 'Primary Master = None' in
CMOS setup (I boot from diskette, root= ...), resulting in drive
being in UDMA33 mode (and 1.5 MB/s is slow for this too!)

I have this system for some year now, and I always postponed these
problems, since it is 'workable' because of the 256 MB ram.
No more workable because now I want to capture from video camera.

Output from commands that I believe relevant are given at end of
this message, to give the state of the system.

The system

 - PC:
   Motherboard is MSI k7T Turbo2, with onboard IDE controller VIA xxxx
   (ATA100 capable);
   RAM is 256 MB PC133;  Processor AMD Athlon 800 MHz (Thunderbird);
   Primary Master drive is Maxtor DiamondMax 40 GB model ... (ATA100 capable)
   Cable is Ok (80 wires) (I even changed it to a new one);
   AGP Video card ATI Rage Pro 3D, 8 MB.
   No other drive, no other PCI card for these tests.

 - CMOS setup:
   Maxtor 40 GB seen in the CMOS, access mode = Auto.
   (Other CMOS setups, as 'NONE primary', or Maxtor + other Access Modes
   but make no differences in speed, only in *udma2 mode when 'NONE'!)

 - OS:
   Linux kernel 2.4.18, Slackware-8.1beta(Some version), but tried
   in Slackware-7.1 (older kernel), nearly same results.
   I boot from a diskette, with 'boot: mount root=/dev/hda8 ro single'.
   Linux swap partition of 512 MB.
   No 'modprobe ide-scsi' module for these tests.

 - IDE controller driver is in kernel .config: ' CONFIG_BLK_DEV_VIA82CXXX=y',
   and ($ cat /proc/ide/via) is ok, see output below.

I have low speed disk reads measured from hdparm, typically:
    $ hdparm -Tt /dev/hda
    Timing buffer-cache reads:   128 MB in  0.71 seconds = 180.28 MB/sec
    Timing buffered disk reads:  64 MB in 48.90 seconds = 1.31 MB/sec
The best disk read speed I got is approx 2.5 MB/s, but not often.

This in single user mode (no X window), NO other processes than
after boot. I tried many things (like changing Primary Master
access mode to Large, LBA,... in CMOS Setup), changing the
IDE 80 wires cable, ...; always this speed for disk read.

I have read the previous thread
'*Slow* disk performance, suggestions anyone?'.

I searched www.google.com (the web) and groups.google.com for
(...) and friends, and found nothing to help me, except some
problems with VIA IDE controllers (and Linux, *and* windows).
However these problems should be solved in recent kernels (as my
linux 2.4.18) from what I did understand.

Questions about my low speed:
 - Do I have a chance of having normal disk speed with a newer kernel?
 - What can I do?
 - Is there something (some minimal 'system') I can boot with to see
   if hardware is Ok?

I do not want to install an MS Windows system (and the drivers from MSI
then needed). I don't have some, and I fear that it would broke my
partioning.

I will perhaps have the possibility to test the Maxtor 40 GB HD in a
more Intel-like system (approx Pentium II 400 MHz), but then can't go
to UDMA100. At least will see if more than 1.5 MB/s disk read!

- - - Some parameters and states of the system - - -

Here are:
   part of boot message, cat /dev/proc/via, hdparm -v, hdparm -I, hdparm -i.
when Master Primary setup in CMOS, access mode = Auto.

# Some boot messages
dmesg #> some output:
  Uniform Multi-Platform E-IDE driver Revision: 6.31
  ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
  VP_IDE: IDE controller on PCI bus 00 dev 39
  VP_IDE: chipset revision 6
  VP_IDE: not 100% native mode: will probe irqs later
  ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
  VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
      ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
      ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:pio, hdd:pio
  hda: Maxtor 54098H8, ATA DISK drive
  ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
  hda: ... sectors (40981 MB) w/2048KiB Cache, CHS=4982/255/63, UDMA(100)

# The state of the VIA 82C686B IDE controller and of the Maxtor drive:

cat /proc/ide/via # CMOS setup has Primary Master = Auto, access mode = auto

  ----------VIA BusMastering IDE Configuration----------------
  Driver Version:                     3.29
  South Bridge:                       VIA vt82c686b
  Revision:                           ISA 0x40 IDE 0x6
  Highest DMA rate:                   UDMA100
  BM-DMA base:                        0xd000
  PCI clock:                          33MHz
  Master Read  Cycle IRDY:            0ws
  Master Write Cycle IRDY:            0ws
  BM IDE Status Register Read Retry:  yes
  Max DRDY Pulse Width:               No limit
  -----------------------Primary IDE-------Secondary IDE------
  Read DMA FIFO flush:          yes                 yes
  End Sector FIFO flush:         no                  no
  Prefetch Buffer:               no                  no
  Post Write Buffer:             no                  no
  Enabled:                      yes                 yes
  Simplex only:                  no                  no
  Cable Type:                   80w                 40w
  -------------------drive0----drive1----drive2----drive3-----
  Transfer Mode:       UDMA       PIO       PIO       PIO
  Address Setup:       30ns     120ns     120ns     120ns
  Cmd Active:          90ns      90ns     480ns     480ns
  Cmd Recovery:        30ns      30ns     480ns     480ns
  Data Active:         90ns     330ns     330ns     330ns
  Data Recovery:       30ns     270ns     270ns     270ns
  Cycle Time:          20ns     600ns     600ns     600ns
  Transfer Rate:   99.0MB/s   3.3MB/s   3.3MB/s   3.3MB/s

hdparm -v /dev/hda

  multcount    =  0 (off)
  I/O support  =  1 (32-bit)
  unmaskirq    =  1 (on)
  using_dma    =  1 (on)
  keepsettings =  0 (off)
  nowerr       =  0 (off)
  readonly     =  0 (off)
  readahead    =  8 (on)
  geometry     = 4982/255/63, sectors = 80041248, start = 0
  busstate     =  1 (on)

hdparm -i /dev/hda

  Model=Maxtor 54098H8, FwRev=DAC10SC0, SerialNo=K80JR6BC
  Config={ Fixed }
  RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
  BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
  CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80041248
  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 udma0 udma1 udma2 udma3 udma4 *udma5
  AdvancedPM=yes: disabled (255) WriteCache=enabled
  Drive Supports :\
      ATA/ATAPI-6 T13 1410D revision 0 : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5 ATA-6

hdparm -I /dev/hda

  non-removable ATA device, with non-removable media
        Model Number:         Maxtor 54098H8
        Serial Number:        K80JR6BC
        Firmware Revision:    DAC10SC0
  Standards:
        Supported: 1 2 3 4 5 6
        Likely used: 6
  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 = 80041248
  Capabilities:
        LBA, IORDY(can be disabled)
        Buffer size: 2048.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 = 0
        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:
           *        NOP cmd
           *        READ BUFFER cmd
           *        WRITE BUFFER cmd
           *        Host Protected Area feature set
           *        look-ahead
           *        write cache
           *        Power Management feature set
           *        SMART feature set
                    SET MAX security extension
                    Advanced Power Management feature set
           *        DOWNLOAD MICROCODE cmd
  HW reset results:
        CBLID- above Vih
        Device num = 0 determined by the jumper
  Checksum: correct

--
Jean-Pierre Moreau nn@dd (s/nn/jpm-qc/; s/dd/iquebec.com/)
  "Give a man a fish, and you feed him for a day.  Teach him how to fish,
   both will be sued by a large co. for some patent or software copyright"

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by kyi » Fri, 18 Oct 2002 04:09:45



>   Uniform Multi-Platform E-IDE driver Revision: 6.31
>   ide: Assuming 33MHz system bus speed for PIO modes; override with
>   idebus=xx VP_IDE: IDE controller on PCI bus 00 dev 39

Right there is a big kicker. in your /etc/lilo.conf file addthe following

append = "idebus=66"

If you already have an append line that you are uning just add the idebus=66
part to it. Then re-run lilo, just type lilo at a command prompt. Then
reboot the system, and run the 'hdparm -t -T /dev/hda' tests again to see
what the new vales are. I am using,

hdparm -c3 -d1 -u1 /dev/hda

An this is what I am getting on my laptop right now, with a ata100
controler.

 /dev/hda:
 Timing buffer-cache reads:   128 MB in  0.53 seconds =241.51 MB/sec
 Timing buffered disk reads:  64 MB in  3.71 seconds = 17.25 MB/sec

- kyi

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Jean-Pierre Morea » Sat, 19 Oct 2002 11:04:33




> >   Uniform Multi-Platform E-IDE driver Revision: 6.31
> >   ide: Assuming 33MHz system bus speed for PIO modes; override with
> >   idebus=xx VP_IDE: IDE controller on PCI bus 00 dev 39
> Right there is a big kicker. in your /etc/lilo.conf file addthe following

> append = "idebus=66"

As I did expect, this does not work since 'my system' (and subsystems)
think it is (or is?) truly in UDMA100 mode (udma5), because for example
output of (cat /proc/ide/via) in my original post:
    Transfer Rate: 99.0 MB/s
and other infos like 'UDMA(100)', ...

But thank you anyway, and I did try it.

At boot prompt, booting single user mode:
  boot: mount idebus=66 single
resulting in booting messages:
  VP_IDE: User given PCI clock speed impossible (66), using 33 MHz instead.
  VP_IDE: Use ide0=ata66 if you want to force UDMA66/UDMA100.
and so SAME modes and speed as before:
  hdparm -Tt /dev/hda #> Timing buffered disk reads ... 1.5 MB/sec

So I did as suggested by above kernel messages too:
  boot: mount ide0=ata66 single
resulting in booting messages:
  ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
  . . .
  VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1
  VP_IDE: ATA-66/100 forced bit set (WARNING)!!
       ide0: BM-DMA at 0xa000-0xa007, BIOS settings: hda:DMA, hdb:pio
       ide1: BM-DMA at 0xa008-0xa00f, BIOS settings: hdc:pio, hdd:DMA
  . . .
  hda: 80041248 sectors (40981 MB) w/2048KiB Cache, CHS=4982/255/63, UDMA(100)
  . . .
resulting in SAME modes as before and SAME low speed:
  hdparm -Tt /dev/hda #> Timing buffered disk reads ... 1.5 MB/sec

I interpret 33 MHz as the clock speed of 'the IDE bus',
and the industry ATA66 and ATA100 (and more?) as kind of equivalent
of frequency because more data in parallel, in their habibutual
obfuscated way.
I am correct in this interpratation of the 33 MHz?

Being at it, I remark 'Multiple Devices' drivers enabled in my kernel,
as RAID, for example this boot message:
  md: raid0 personality registered as nr 2
But I do not use RAID.

So here other questions related to my problem:

 - Can RAID enabled, but not used, can be source of problems?
 - How to know the many bus speeds in a system?
 - More generally, are there some generic hardware diagnostic tools
   in Linux? (Or not needing use of MS Windows?)
 - Comments about my idea of using hdparm to REDUCE to lower udma
   like udma3 or udma4?

--

  "Give a man a fish, and you feed him for a day.  Teach him how to fish,
   both will be sued by a large co. for some patent or software copyright"

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Philip Armstro » Sat, 19 Oct 2002 17:14:46





>>   Uniform Multi-Platform E-IDE driver Revision: 6.31
>>   ide: Assuming 33MHz system bus speed for PIO modes; override with
>>   idebus=xx VP_IDE: IDE controller on PCI bus 00 dev 39
>Right there is a big kicker. in your /etc/lilo.conf file addthe following

>append = "idebus=66"

This is something you should *not* do. The idebus option has nothing
to do with the UDMA speed.

The "system bus speed" bit means the *PCI* bus clock. Which is always
33Mhz unless you're overclocking and the PCI bus changes when you
overclock.

The reason this option exists is to allow linux to cope with things
like the VLbus which ran (I think) at 40MHz.

Setting idebus to 66 will make the timings in the code assume that the
PCI bus is running at 66MHz when it is actually running at
33Mhz. Unsurprisingly this isn't going to work on a lot of systems!

Phil
--
http://www.kantaka.co.uk/ .oOo. public key: http://www.kantaka.co.uk/gpg.txt

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Martin Blum » Tue, 22 Oct 2002 03:49:36


Quote:>     $ hdparm -Tt /dev/hda
>     Timing buffer-cache reads:   128 MB in  0.71 seconds = 180.28 MB/sec
>     Timing buffered disk reads:  64 MB in 48.90 seconds = 1.31 MB/sec

I have 150 MB/s and 23 MB/s here on my system

Quote:> hdparm -v /dev/hda

>   multcount    =  0 (off)

I have multcount = 16 (on) on my system. I think you can set this with
the -m option of hdparm.

Regards
Martin

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Jean-Pierre Morea » Tue, 22 Oct 2002 05:27:37


On Sun, 20 Oct 2002 20:49:36 +0200,

Quote:> >     $ hdparm -Tt /dev/hda
> >     Timing buffer-cache reads:   128 MB in  0.71 seconds = 180.28 MB/sec
> >     Timing buffered disk reads:  64 MB in 48.90 seconds = 1.31 MB/sec
> I have 150 MB/s and 23 MB/s here on my system

> . . .
> I have multcount = 16 (on) on my system. I think you can set this with
> the -m option of hdparm.

Thank you, Martin. I am the Original Poster (OP).

I did already tried this option, no change in speed.

When problem solved, or not if this Maxtor 54098H8 40 GB HD has hardware
problem, which I suspect more and more, I will give more info here.

A small report of new facts:

 - connecting my Maxtor 40 GB (the one with 1.31 MB/s) as Slave, with
   an older Quantum 13 GB as master (UDMA33), then Maxter at UDMA33 too,
   I got 18 MB/s for the Quantum, and again approx 1.5 MB/s for Maxtor.

 - connecty my Maxtor 40 GB as Slave in another completely different PC,
   Intel Petium II-MMX 333 MHz, so completely different Mother board and
   IDE controller:
   I got 10 MB/s for the Master, and again 1.5 MB/s for the Maxtor 40 GB.

And note that 'other HDs' connected have always very nearly same speed
from 'hdparm -Tt ...', but the Maxtor has very varying speed, typically:
4.0 MB/s, 2.3 MB/s, 1.1 MB/s, 600 kB/s, 2.2 MB/s, ...

So I would add:
this Maxtor 54098H8 has very disk read speed, and is highly variable.

To complete my diagnostic, I would like to connect this HD in a
'complete new PC in MS Windows', but I do NOT have such a beast near,
and anyway it must have a recent system with ADA-100 support.

So my conclusion for now:
I suspect my Maxtor 40 GB HD is somewhat broken, but I find it strange
that it works at all and always, even at very low speed.

--

  "Give a man a fish, and you feed him for a day.  Teach him how to fish,
   both will be sued by a large co. for some patent or software copyright"

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Marcus Laue » Tue, 22 Oct 2002 06:09:55



> As in previous thread (started some days ago, and still active),
>    '*Slow* disk performance, suggestions anyone?'
> I have VERY SLOW disk speed, for a system that should be fast!

> I get disk read around 1.5 MB/s, when nominal speed for UDMA 100
> is 100 MB/s, as it should be from output of commands below.

        Just so you know, 100MB/s is the maximum transfer rate of the UDMA 100
interface, not of the drive itself.  You'll probably get something more like
30MB/s with that drive (The trick is that if you attach multiple drives,
they're basically sharing that 100MB/s, so the maximum transfer rate of the
interface is almost always going to be greater than the maximum transfer rate
of any one drive).

Quote:> I get SAME speed when I boot with 'Primary Master = None' in
> CMOS setup (I boot from diskette, root= ...), resulting in drive
> being in UDMA33 mode (and 1.5 MB/s is slow for this too!)

> I have this system for some year now, and I always postponed these
> problems, since it is 'workable' because of the 256 MB ram.
> No more workable because now I want to capture from video camera.

        Is there a second drive on the primary IDE cable?  If there's another
drive (like a CD-ROM) then perhaps that's forcing the main hard drive to run
at the transfer rate of the other drive.  Make sure your hard drive is alone
on its IDE cable when you test its speed.

        Is there any chance that the hard drive itself is not in UDMA-100
mode, even if the motherboard is?  Usually the manufacturer has a utility to
change that.

        You could try turning IDE Block mode on, as Martin Blume suggested.  
Try "hdparm -m8 /dev/hda".  Having said that, I personally don't see a major
performance difference when I turn it off in my system, so who knows?

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Jean-Pierre Morea » Tue, 22 Oct 2002 15:45:28


On Sun, 20 Oct 2002 14:09:55 -0700,


> > . . .
> > I get disk read around 1.5 MB/s, when nominal speed for UDMA 100
> > is 100 MB/s, as it should be from output of commands below.

>       Just so you know, 100MB/s is the maximum transfer rate of the UDMA 100
> interface, not of the drive itself.  You'll probably get something more like
> 30MB/s with that drive (The trick is that if you attach multiple drives,
> they're basically sharing that 100MB/s, so the maximum transfer rate of the
> interface is almost always going to be greater than the maximum transfer rate
> of any one drive).

Thank you Marcus, I knew it 'approximately', your statements are clear.

Quote:>      Is there a second drive on the primary IDE cable?  If there's another

I tested it with only this hard drive in system. And as I said in another post
in this thread (today?), I even tried it in a completely different hardware,
for SAME speeds (OS was RedHat-7.3, so no, did not try it with MS Windows
based system!)

Quote:>         Is there any chance that the hard drive itself is not in UDMA-100
> mode, even if the motherboard is?  Usually the manufacturer has a utility
> to change that.

I don't know. I do not think so, at least I don't believe the 'basic mode'
would be as slow as this.
Probably these 'utilities' require MS Windows? If need be, I can arrange to
connect the HD in a Windows system (but an 'old' one, not itself UDMA100!).
But then, I don't know which tools to measure its speed meaningfully
on MS systems.
And there is possibly no such utilities for this Maxtor 54098H8, because
I did not saw it in my extensive google searches (Web and Groups); this
is not a proof, I know.

Quote:> Try "hdparm -m8 /dev/hda".  Having said that, I personally don't see a major

I did. As expected, no difference in my case.

I more and more think this HD has an hardware problem! The only remaining
tests are connecting it to a *modern* MS Windows system, but I think
Linux is not the problem with recent kernels.

Thank you very much for your efforts,

--

  "Give a man a fish, and you feed him for a day.  Teach him how to fish,
   both will be sued by a large co. for some patent or software copyright"

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Toby Hayne » Tue, 22 Oct 2002 23:22:38



> On Sun, 20 Oct 2002 14:09:55 -0700,


>> Try "hdparm -m8 /dev/hda".  Having said that, I personally don't see a major

> I did. As expected, no difference in my case.

> I more and more think this HD has an hardware problem! The only remaining
> tests are connecting it to a *modern* MS Windows system, but I think
> Linux is not the problem with recent kernels.

Hell thats way too slow for a 40GB drive. Are you running with DMA enabled on
that drive? Do you see a lot of CPU activity when you access the drive?
Transfer rates of 1MB/s are probably the result of running in 16 bit I/O mode,
with no multicount and no DMA.

Try

hdparm -d1 -c3 -m16 -k1 /dev/hda

That gives you DMA access, async read, 16 block multicount. You can probably go
further and really bump up the DMA accesses (read the hdparm manual!).

Cheers,
Toby Haynes

--

Toby Haynes
The views and opinions expressed in this message are my own, and do
not necessarily reflect those of IBM Canada.

 
 
 

Another slow disk permormance, very *low* disk read speed

Post by Jean-Pierre Morea » Wed, 23 Oct 2002 02:11:02



Quote:> Hell thats way too slow for a 40GB drive. Are you running with DMA enabled on
> that drive? Do you see a lot of CPU activity when you access the drive?
> Transfer rates of 1MB/s are probably the result of running in 16 bit I/O
> mode, with no multicount and no DMA.

(This is about my 1.5 MB/s (and highly variable) Maxtor 54098H8).
I know that is too slow, this is the reason of this posting.
I am the OP, and see the original post of this thread, where all
outpouts of commands I know of show the drive (and controller) is in
UDMA100 mode.

And as said in another post of this thread, I did connect another
HD on same IDE channel, Primary. A DMA33 limited HD, than the new
one get 18 MB/s, and the bad Maxtor (in DMA33 too) got its 1.5 MB/s.
I connected the bad maxtor in completely different system
(Linux RedHat-7.3, but Intel based instead of AMD and Via IDE),
all was then in DMA(33) mode, and other HDs got 8 MB/s, and bad Maxtor
always at its 1.5 MB/s!

This is why only remaining test (I know of) is try it in moder MS System,
but I think the drive had a hardware defect.

--

  "Give a man a fish, and you feed him for a day.  Teach him how to fish,
   both will be sued by a large co. for some patent or software copyright"

 
 
 

1. Low-level read of ide disk

My 60GB IBM disk has almost given up: I have quite a few read errors.
Since this is a data disk which holds all my warez^Wdocuments (e.g.
letters/faxes I sent to a party I have a legal dispute with), I'd like
to recover as much data as possible.
Does anyone know of a program which does a low-level read of an ide
disk, e.g. using the ide ioctl with HDIO_DRIVE_CMD and WIN_READDMA,
WIN_READDMA_QUEUED?
Or has anyone ever done this and is willing to share some code with me?

TIA,

Josef
--
Josef M?llers (Pinguinpfleger bei FSC)
        If failure had no penalty success would not be a prize
                                                -- T.  Pratchett

2. Scheduler ( was: Just a second ) ...

3. Low level info on how to read hard disk

4. Serial ports not playing nicely

5. Does Norton Speed Disk Utility's defragmentation mess up the linux hard disk partition?

6. Kernel Update

7. Asus A7V slow disk speed

8. 340 Watt Power Supply adequate?

9. Hard disk transfer speeds really slow.

10. Problems with very slow disks on a SUN A1000 disk-array!

11. disk read speed with md - normal?

12. How do I get my disk drive to read DOS formatted disks?

13. Disk crash, now can't read disk label