Promise PDC20267 ATA RAID, poor write performance

Frode Nordahl frode at nordahl.net
Fri Sep 10 04:52:46 PDT 2004


Hello,

I have a intel S845WD1-E board with onboard Promise PDC20267 controller.
The system is set up with a P4 2Ghz with 1GB RAM.
The board also has a Intel ICH2, but that's only used by a CDROM.

Disks connected:
ad4: 39205MB <Maxtor 6E040L0/NAR61590> [79656/16/63] at ata2-master 
UDMA100
ad6: 39205MB <Maxtor 6E040L0/NAR61590> [79656/16/63] at ata3-master 
UDMA100

I have them set up in a RAID1

I have tried this on FreeBSD 4.10-RELEASE, and 6-CURRENT (from today) 
with similar results.

I also tried with RAID0, and that showed the same results*2, that is, 
ca. 7MB/s write instead of 3.5MB/s.

I have no previous experience with this hardware on other OS'es, so I'm 
not sure what to expect, but I'm pretty sure it should be better than 
this :)

dmesg included below.

Doing simple tests show very poor write performance:
(reboot)
# dd if=/dev/zero of=fill bs=1m count=2000
2000+0 records in
2000+0 records out
2097152000 bytes transferred in 588.383886 secs (3564258 bytes/sec)

(reboot)
# dd if=fill of=/dev/null bs=1m
2000+0 records in
2000+0 records out
2097152000 bytes transferred in 68.492015 secs (30618927 bytes/sec)


sample output from iostat 10 during write:
    0    8  0.00   0  0.00   0.00   0  0.00  127.18  27  3.39   0  0  3  
1 96
    0    8  0.00   0  0.00   0.00   0  0.00  126.22  27  3.39   0  0  3  
0 97
    0    8  0.00   0  0.00   0.00   0  0.00  122.15  30  3.57   0  0  3  
0 97
    0    8  0.00   0  0.00   0.00   0  0.00  127.59  27  3.41   0  0  3  
0 97

sample output from iostat 10 during read:
    0    8  0.00   0  0.00   0.00   0  0.00  127.53 238 29.61   0  0 14  
1 86
    1   90  0.00   0  0.00   0.00   0  0.00  126.71 241 29.80   1  0 14  
1 84
    0    8  0.00   0  0.00   0.00   0  0.00  127.06 231 28.67   0  0 15  
1 84
    0   62  0.00   0  0.00   0.00   0  0.00  127.52 235 29.26   0  0 14  
1 85

sample output from vmstat -i during write:
interrupt                          total       rate
irq1: atkbd0                           4          0
irq6: fdc0                             5          0
irq8: rtc                          30548        127
irq13: npx0                            1          0
irq14: ata0                           47          0
irq18: fxp0                         3990         16
irq22: atapci0                     18032         75
irq0: clk                          23865         99
Total                              76492        318

sample output from vmstat -i during read:
interrupt                          total       rate
irq1: atkbd0                           1          0
irq6: fdc0                             5          0
irq8: rtc                          21926        127
irq13: npx0                            1          0
irq14: ata0                           47          0
irq18: fxp0                         1523          8
irq22: atapci0                     33047        192
irq0: clk                          17128         99
Total                              73678        428




Mvh,
Frode Nordahl

-------------- next part --------------
Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.3-BETA3 #1: Fri Sep 10 13:26:36 CEST 2004
    frode at somewhere.else.org:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 2.00GHz (1993.54-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf24  Stepping = 4
  Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
real memory  = 1073479680 (1023 MB)
avail memory = 1040932864 (992 MB)
ACPI APIC Table: <D845WD WD84510A>
ioapic0: Changing APIC ID to 2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <D845WD WD84510A> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82845 host to AGP bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
fxp0: <Intel 82550 Pro/100 Ethernet> port 0xde80-0xdebf mem 0xfea80000-0xfea9ffff,0xfeafe000-0xfeafefff irq 18 at device 12.0 on pci2
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:aa:00:30:8f:4c
fxp1: <Intel 82550 Pro/100 Ethernet> port 0xdd80-0xddbf mem 0xfea40000-0xfea5ffff,0xfeafd000-0xfeafdfff irq 19 at device 13.0 on pci2
miibus1: <MII bus> on fxp1
inphy1: <i82555 10/100 media interface> on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: Ethernet address: 00:aa:00:30:8f:4d
atapci0: <Promise PDC20267 UDMA100 controller> port 0xdf00-0xdf3f,0xdfe0-0xdfe3,0xdfa8-0xdfaf,0xdfe4-0xdfe7,0xdff0-0xdff7 mem 0xfeaa0000-0xfeabffff irq 22 at device 14.0 on pci2
ata2: channel #0 on atapci0
ata3: channel #1 on atapci0
pci2: <display, VGA> at device 15.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <Intel ICH2 UDMA100 controller> port 0xffa0-0xffaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
ata0: channel #0 on atapci1
ata1: channel #1 on atapci1
uhci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> port 0xef40-0xef5f irq 19 at device 31.2 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
uhci1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> port 0xef80-0xef9f irq 23 at device 31.4 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <floppy drive controller> port 0x3f7,0x3f4-0x3f5,0x3f2-0x3f3,0x3f0-0x3f1 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
orm0: <ISA Option ROMs> at iomem 0xd2800-0xd37ff,0xd1800-0xd27ff,0xc9000-0xd17ff,0xc8000-0xc8fff,0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1993544204 Hz quality 800
Timecounters tick every 10.000 msec
ATAPI_RESET time = 20us
acd0: CDROM <CD-224E/1.9A> at ata0-slave UDMA33
ad4: 39205MB <Maxtor 6E040L0/NAR61590> [79656/16/63] at ata2-master UDMA100
ad6: 39205MB <Maxtor 6E040L0/NAR61590> [79656/16/63] at ata3-master UDMA100
ar0: 39100MB <ATA RAID1 array> [4984/255/63] status: READY subdisks:
 disk0 READY on ad4 at ata2-master
 disk1 READY on ad6 at ata3-master
Mounting root from ufs:/dev/ar0s1a



More information about the freebsd-current mailing list