Strange IDE/RAID0 performance....

From: Scott M. Ransom (ransom@cfa.harvard.edu)
Date: Mon Apr 10 2000 - 22:12:14 EST


Hello,

I'm getting fast writes but slow reads using RAID0....

I have set up RAID0 with two 30G DiamondMax (Maxtor) ATA-66 drives
connected to a Promise Ultra66 controller.

I am using raid 0.90 with kernel 2.3.99-pre3 (SMP) on a dual PII-450
with 256M RAM.

Here are the results from bonnie:

presto:/raid$ bonnie -s 1200
File './Bonnie.438', size: 1258291200
Writing with putc()...done
Rewriting...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done..
     -------Sequential Output-------- ---Sequential Input-- --Random--
     -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
  MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
1200 6813 98.2 41157 42.0 10101 25.9 5205 78.9 14890 27.3 137.8 1.8

Seems like my sequential block writes are almost 3 times faster than the
reads. Any idea why that would be?

Here are the results from hdparm on my drives (just showing one because
they are identical):

/dev/hdg:
 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 = 59554/16/63, sectors = 60030432, start = 0

/dev/hdg:
 Model=Maxtor 53073U6, FwRev=DA620CQ0, SerialNo=K604F9AC
 Config={ Fixed }
 RawCHS=4092/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=60030432
 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

And here are the boot messages corresponding to IDE and or RAID:

Uniform Multi-Platform E-IDE driver Revision: 6.30
ide: Assuming 40MHz system bus speed for PIO modes; override with
idebus=xx
PIIX4: IDE controller on PCI bus 00 dev 21
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:DMA, hdd:pio
PDC20262: IDE controller on PCI bus 00 dev 50
PDC20262: not 100% native mode: will probe irqs later
PDC20262: (U)DMA Burst Bit ENABLED Primary PCI Mode Secondary PCI Mode.
    ide2: BM-DMA at 0xa400-0xa407, BIOS settings: hde:pio, hdf:pio
    ide3: BM-DMA at 0xa408-0xa40f, BIOS settings: hdg:pio, hdh:pio
hda: WDC AC420400D, ATA DISK drive
hdb: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
hdc: LTN382, ATAPI CDROM drive
hde: Maxtor 53073U6, ATA DISK drive
hdg: Maxtor 53073U6, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xb800-0xb807,0xb402 on irq 3
ide3 at 0xb000-0xb007,0xa802 on irq 3
hda: WDC AC420400D, 19470MB w/1966kB Cache, CHS=39560/16/63, UDMA(33)
hde: Maxtor 53073U6, 29311MB w/2048kB Cache, CHS=59554/16/63, UDMA(66)
hdg: Maxtor 53073U6, 29311MB w/2048kB Cache, CHS=59554/16/63, UDMA(66)
hdc: ATAPI 40X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.07
hdb: 98304kB, 196608 blocks, 512 sector size,
hdb: 98304kB, 96/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm
Partition check:
 hda: hda1 hda2 < hda5 hda6 hda7 hda8 >
 hdb: hdb4
 hde: hde1 hde2
 hdg: hdg1 hdg2
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12
raid0 personality registered
md.c: sizeof(mdp_super_t) = 4096
....
(read) hdg2's sb offset: 29883584 [events: 0000000b]
(read) hde2's sb offset: 29883584 [events: 0000000b]
autorun ...
considering hde2 ...
  adding hde2 ...
  adding hdg2 ...
created md0
bind<hdg2,1>
bind<hde2,2>
running: <hde2><hdg2>
now!
hde2's event counter: 0000000b
hdg2's event counter: 0000000b
md0: max total readahead window set to 256k
md0: 2 data-disks, max readahead per data-disk: 128k
raid0: looking at hdg2
raid0: comparing hdg2(29883584) with hdg2(29883584)
raid0: END
raid0: ==> UNIQUE
raid0: 1 zones
raid0: looking at hde2
raid0: comparing hde2(29883584) with hdg2(29883584)
raid0: EQUAL
raid0: FINAL 1 zones
zone 0
 checking hdg2 ... contained as device 0
  (29883584) is smallest!.
 checking hde2 ... contained as device 1
 zone->nb_dev: 2, size: 59767168
current zone offset: 29883584
done.
raid0 : md_size is 59767168 blocks.
raid0 : conf->smallest->size is 59767168 blocks.
raid0 : nb_zone is 1.
raid0 : Allocating 8 bytes for hash.
md: updating md0 RAID superblock on device
hde2 [events: 0000000c](write) hde2's sb offset: 29883584
hdg2 [events: 0000000c](write) hdg2's sb offset: 29883584
.
... autorun DONE.

/proc/mdstat:

Personalities : [raid0]
read_ahead 1024 sectors
md0 : active raid0 hde2[1] hdg2[0]
      59767168 blocks 8k chunks
      
unused devices: <none>

/proc/pci:

PCI devices found:
  Bus 0, device 0, function 0:
    Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge
(rev 3).
      Master Capable. Latency=64.
      Prefetchable 32 bit memory at 0xe4000000 [0xe7ffffff].
  Bus 0, device 1, function 0:
    PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev
3).
      Master Capable. Latency=64. Min Gnt=136.
  Bus 0, device 4, function 0:
    ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 2).
  Bus 0, device 4, function 1:
    IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 1).
      Master Capable. Latency=32.
      I/O at 0xd800 [0xd80f].
  Bus 0, device 4, function 2:
    USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 1).
      IRQ 5.
      Master Capable. Latency=32.
      I/O at 0xd400 [0xd41f].
  Bus 0, device 4, function 3:
    Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 2).
  Bus 0, device 9, function 0:
    Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone]
(rev 48).
      IRQ 5.
      Master Capable. Latency=32. Min Gnt=10.Max Lat=10.
      I/O at 0xd000 [0xd07f].
      Non-prefetchable 32 bit memory at 0xe0800000 [0xe080007f].
  Bus 0, device 10, function 0:
    Unknown mass storage controller: Promise Technology, Inc. 20262 (rev
1).
      IRQ 3.
      Master Capable. Latency=32.
      I/O at 0xb800 [0xb807].
      I/O at 0xb400 [0xb403].
      I/O at 0xb000 [0xb007].
      I/O at 0xa800 [0xa803].
      I/O at 0xa400 [0xa43f].
      Non-prefetchable 32 bit memory at 0xe0000000 [0xe001ffff].
  Bus 0, device 11, function 0:
    Multimedia audio controller: Ensoniq ES1370 [AudioPCI] (rev 0).
      IRQ 10.
      Master Capable. Latency=32. Min Gnt=12.Max Lat=128.
      I/O at 0xa000 [0xa03f].
  Bus 1, device 0, function 0:
    VGA compatible controller: nVidia Corporation Riva TnT 128 [NV04]
(rev 4).
      IRQ 11.
      Master Capable. Latency=64. Min Gnt=5.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xe1000000 [0xe1ffffff].
      Prefetchable 32 bit memory at 0xe3000000 [0xe3ffffff].

Thanks a bunch,

Scott

-- 
Scott M. Ransom                   
Phone:  (781) 320-9867             Address:  75 Sanderson Ave.
email:  ransom@cfa.harvard.edu               Dedham, MA  02026
PGP Fingerprint: D2 0E D0 10 CD 95 06 DA  EF 78 FE 2B CB 3A D3 53

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:13 EST