Linux-kernel mailing list archive 2000-15,: Strange IDE/RAID0 performance....

# Strange IDE/RAID0 performance....

Scott M. Ransom (ransom@cfa.harvard.edu)
Mon, 10 Apr 2000 23:12:14 -0400

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Jim Bauer: "Re: Crash & corrupted FS"
- Previous message: Graham Stoney: "Re: What's the deal with building intermediate .o vs .a files?"

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/

- Next message: Jim Bauer: "Re: Crash & corrupted FS"
- Previous message: Graham Stoney: "Re: What's the deal with building intermediate .o vs .a files?"