On Thu, 10 Feb 2000 [EMAIL PROTECTED] wrote:

> On Thu, Feb 10, 2000 at 08:40:29AM -0700, Rick Macdonald generated a stream 
> of 1s and 0s:
> > 
> > I added a Maxtor 27GB 7200rpm ATA66 drive to my P200MMX when I upgraded to
> > potatos and kernel 2.2.14.
> > 
> > My motherboard (ASUS TX97-E) only supports udma mode 2 (33MB/sec), but I
> > find that this drive and my old WD 4GB (no UDMA) both show the same speed
> > of about 9.4MB/sec with hdparm -t. Even if the new drive is the only drive
> > on the primary IDE interface.

> You can't expect any improvents unless you turn multcount to 16 or to
> whatever your drive supports, and switch I/O into 32bit mode. Just with
> those two turned on, my WD goes from 6 to 12 MB/s without using DMA.
> Also I recommend setting unmaskirq to on, because that frees up your CPU
> when it does disk transfer; the multcount setting saves you the number
> of interrupts per transfer the size of this setting (i.e. 1 interrupt per 16 
> blocks instead of 16 interrupts per 16 blocks) that you set it to, so it's 
> very important, so is 32 bit transfer mode. The 16 bit mode is really an 
> archaic setting
> dating back to early Pentium and 486 machines, this issue really needs
> to be addressed on distribution level, since most people don't bother
> playing with hdparm at all, they're always SLOW. What's ironic, is you
> can configure your kernel to enable DMA, but can't enable 32 bit I/O.

Sheesh! That sounded so good, but as shown below, those settings made no
difference. I tried again with just the one drive on the rimary IDE (no
slave). I tried -X34 too, but it hung the machine. Fortunately, no damage
was done when I hit the reset switch.

Any other ideas? Could I be missing kernel config options, or would hdparm
know that and not set the values?

timshel# hdparm -m16 -c1 -u1 -i -v /dev/hda

/dev/hda:
 setting 32-bit I/O support flag to 1
 setting multcount to 16
 setting unmaskirq to 1 (on)
 multcount    = 16 (on)
 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     = 3322/255/63, sectors = 53369568, start = 0

 Model=Maxtor 92732U8, FwRev=RA530JN0, SerialNo=H8059G4C
 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=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=53369568
 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 

timshel# hdparm -t /dev/hda;hdparm -t /dev/hda

/dev/hda:
 Timing buffered disk reads:  64 MB in  6.99 seconds =  9.16 MB/sec

/dev/hda:
 Timing buffered disk reads:  64 MB in  6.77 seconds =  9.45 MB/sec
You have mail in /var/spool/mail/rickm
timshel# hdparm -m0 -c0 -u0 -i -v /dev/hda

/dev/hda:
 setting 32-bit I/O support flag to 0
 setting multcount to 0
 setting unmaskirq to 0 (off)
 multcount    =  0 (off)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 3322/255/63, sectors = 53369568, start = 0

 Model=Maxtor 92732U8, FwRev=RA530JN0, SerialNo=H8059G4C
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=3(DualPortCache), BuffSize=2048kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=0
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=53369568
 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 

timshel# hdparm -t /dev/hda;hdparm -t /dev/hda

/dev/hda:
 Timing buffered disk reads:  64 MB in  6.90 seconds =  9.28 MB/sec

/dev/hda:
 Timing buffered disk reads:  64 MB in  6.93 seconds =  9.24 MB/sec

...RickM...

Reply via email to