Skip to contentSkip to conversation

Mysteriously slow writes SiI 3124

DISCUSSION Peter Rabbitson 4 participants 6 messages Mar 1, 2009 – Apr 1, 2009 libata

lore
Share & tools
lore
#0 lore raw

Hello,

I have a sil 3124 PCI-X SATA card with 4 drives attached to it. When I read simultaneously from all 4 drives, I get the expected ~220MB/s combined read speed, limited by the presence of a 32bit card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 bit cards). When I write to the drives however I only get half of that ~106MB/s combined. Can someone shed some light?

All measurements are made on an idle system in single-user mode

Combined read:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done
[1] 30243
[2] 30244
[3] 30245
[4] 30246
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s

Combined write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done
[1] 30239
[2] 30240
[3] 30241
[4] 30242
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s

Individual read (making sure disks are good):

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s
root@Arzamas:~/tr#

Individual write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15325 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36731 s, 97.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24908 s, 99.9 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36189 s, 97.8 MB/s
root@Arzamas:~/tr#

Card:
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)

	Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr+ Stepping+ SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 25
	Region 0: Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
	Region 2: Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
	Region 4: I/O ports at bc00 [size=16]
	Expansion ROM at fc480000 [disabled] [size=512K]
	Capabilities: [64] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [40] PCI-X non-bridge device
		Command: DPERE- ERO+ RBC=512 OST=12
		Status: Dev=ff:1f.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=12 DMCRS=128 RSCEM- 266MHz- 533MHz-
	Capabilities: [54] MSI: Mask- 64bit+ Count=1/1 Enable-
		Address: 0000000000000000  Data: 0000
	Kernel driver in use: sata_sil24

Disks (excerpt from kernel bootup):
sata_sil24 0000:02:03.0: version 1.1
sata_sil24 0000:02:03.0: PCI INT A -> GSI 25 (level, low) -> IRQ 25
scsi3 : sata_sil24
scsi4 : sata_sil24
scsi5 : sata_sil24
scsi6 : sata_sil24
ata3: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f0000 irq 25
ata4: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f2000 irq 25
ata5: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f4000 irq 25
ata6: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f6000 irq 25
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata3.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata3.00: configured for UDMA/100
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata4.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata4.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata4.00: configured for UDMA/100
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata5.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata5.00: configured for UDMA/100
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata6.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata6.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata6.00: configured for UDMA/100
scsi 3:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2 sdb3
sd 3:0:0:0: [sdb] Attached SCSI disk
scsi 4:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdc: sdc1 sdc2 sdc3
sd 4:0:0:0: [sdc] Attached SCSI disk
scsi 5:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdd: sdd1 sdd2 sdd3
sd 5:0:0:0: [sdd] Attached SCSI disk
scsi 6:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sde: sde1 sde2 sde3
sd 6:0:0:0: [sde] Attached SCSI disk

#1 lore raw

No takers? Can I provide more info/measurements/whatever? I would really like to get to the bottom of this, pretty frustrating.

Quoted 183 lines · Peter Rabbitson

Hello,

I have a sil 3124 PCI-X SATA card with 4 drives attached to it. When I read simultaneously from all 4 drives, I get the expected ~220MB/s combined read speed, limited by the presence of a 32bit card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 bit cards). When I write to the drives however I only get half of that ~106MB/s combined. Can someone shed some light?

All measurements are made on an idle system in single-user mode

Combined read:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done
[1] 30243
[2] 30244
[3] 30245
[4] 30246
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s

Combined write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done
[1] 30239
[2] 30240
[3] 30241
[4] 30242
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s

Individual read (making sure disks are good):

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s
root@Arzamas:~/tr#

Individual write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15325 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36731 s, 97.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24908 s, 99.9 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36189 s, 97.8 MB/s
root@Arzamas:~/tr#

Card:
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)

	Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr+ Stepping+ SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 25
	Region 0: Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
	Region 2: Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
	Region 4: I/O ports at bc00 [size=16]
	Expansion ROM at fc480000 [disabled] [size=512K]
	Capabilities: [64] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [40] PCI-X non-bridge device
		Command: DPERE- ERO+ RBC=512 OST=12
		Status: Dev=ff:1f.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=12 DMCRS=128 RSCEM- 266MHz- 533MHz-
	Capabilities: [54] MSI: Mask- 64bit+ Count=1/1 Enable-
		Address: 0000000000000000  Data: 0000
	Kernel driver in use: sata_sil24

Disks (excerpt from kernel bootup):
sata_sil24 0000:02:03.0: version 1.1
sata_sil24 0000:02:03.0: PCI INT A -> GSI 25 (level, low) -> IRQ 25
scsi3 : sata_sil24
scsi4 : sata_sil24
scsi5 : sata_sil24
scsi6 : sata_sil24
ata3: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f0000 irq 25
ata4: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f2000 irq 25
ata5: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f4000 irq 25
ata6: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f6000 irq 25
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata3.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata3.00: configured for UDMA/100
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata4.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata4.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata4.00: configured for UDMA/100
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata5.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata5.00: configured for UDMA/100
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata6.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata6.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata6.00: configured for UDMA/100
scsi 3:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2 sdb3
sd 3:0:0:0: [sdb] Attached SCSI disk
scsi 4:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdc: sdc1 sdc2 sdc3
sd 4:0:0:0: [sdc] Attached SCSI disk
scsi 5:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdd: sdd1 sdd2 sdd3
sd 5:0:0:0: [sdd] Attached SCSI disk
scsi 6:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sde: sde1 sde2 sde3
sd 6:0:0:0: [sde] Attached SCSI disk
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 2 lines · Peter Rabbitson

No takers? Can I provide more info/measurements/whatever? I would really like to get to the bottom of this, pretty frustrating.

Are you ok with wild guesses?
This sounds remarkable similar to the performance of the equivalent PCIe SATA controller from Silicon Image (3132). The 3132 has 1 PCI-E lane and should able to move more than 220 MB/s or so. But in fact can only read 120MB/s and write 170MB/s.

I would either try a different SATA controller in the same slot of the same host machine OR try the same SATA controller in a different host machine just to rule out issues with the system chipset.

One other wild guess would be some environmental problem with the disk drives. If they are hot or being vibrated (e.g. enclosure fan), write performance will suffer more than read performance. Since these are 500G "Nearline" drives, I expect them to do better under "adverse" conditions than predecessor "Desktop" (model number ends with "AS").

hth,
grant

Quoted 191 lines
Quoted 175 lines · Peter Rabbitson

Hello,

I have a sil 3124 PCI-X SATA card with 4 drives attached to it. When I read simultaneously from all 4 drives, I get the expected ~220MB/s combined read speed, limited by the presence of a 32bit card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 bit cards). When I write to the drives however I only get half of that ~106MB/s combined. Can someone shed some light?

All measurements are made on an idle system in single-user mode

Combined read:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done
[1] 30243
[2] 30244
[3] 30245
[4] 30246
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s

Combined write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done
[1] 30239
[2] 30240
[3] 30241
[4] 30242
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s

Individual read (making sure disks are good):

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s
root@Arzamas:~/tr#

Individual write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15325 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36731 s, 97.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24908 s, 99.9 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36189 s, 97.8 MB/s
root@Arzamas:~/tr#

Card:
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)
      Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
      Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr+ Stepping+ SERR+ FastB2B- DisINTx-
      Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
      Latency: 64, Cache Line Size: 64 bytes
      Interrupt: pin A routed to IRQ 25
      Region 0: Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
      Region 2: Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
      Region 4: I/O ports at bc00 [size=16]
      Expansion ROM at fc480000 [disabled] [size=512K]
      Capabilities: [64] Power Management version 2
              Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
              Status: D0 PME-Enable- DSel=0 DScale=1 PME-
      Capabilities: [40] PCI-X non-bridge device
              Command: DPERE- ERO+ RBC=512 OST=12
              Status: Dev=ff:1f.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=12 DMCRS=128 RSCEM- 266MHz- 533MHz-
      Capabilities: [54] MSI: Mask- 64bit+ Count=1/1 Enable-
              Address: 0000000000000000  Data: 0000
      Kernel driver in use: sata_sil24

Disks (excerpt from kernel bootup):
sata_sil24 0000:02:03.0: version 1.1
sata_sil24 0000:02:03.0: PCI INT A -> GSI 25 (level, low) -> IRQ 25
scsi3 : sata_sil24
scsi4 : sata_sil24
scsi5 : sata_sil24
scsi6 : sata_sil24
ata3: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f0000 irq 25
ata4: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f2000 irq 25
ata5: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f4000 irq 25
ata6: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f6000 irq 25
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata3.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata3.00: configured for UDMA/100
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata4.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata4.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata4.00: configured for UDMA/100
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata5.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata5.00: configured for UDMA/100
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata6.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata6.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata6.00: configured for UDMA/100
scsi 3:0:0:0: Direct-Access     ATA      ST3500320NS      SN05 PQ: 0 ANSI: 5 sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdb: sdb1 sdb2 sdb3
sd 3:0:0:0: [sdb] Attached SCSI disk
scsi 4:0:0:0: Direct-Access     ATA      ST3500320NS      SN05 PQ: 0 ANSI: 5 sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdc: sdc1 sdc2 sdc3
sd 4:0:0:0: [sdc] Attached SCSI disk
scsi 5:0:0:0: Direct-Access     ATA      ST3500320NS      SN05 PQ: 0 ANSI: 5 sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdd: sdd1 sdd2 sdd3
sd 5:0:0:0: [sdd] Attached SCSI disk
scsi 6:0:0:0: Direct-Access     ATA      ST3500320NS      SN05 PQ: 0 ANSI: 5 sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off

Quoted 8 lines

sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sde: sde1 sde2 sde3
sd 6:0:0:0: [sde] Attached SCSI disk
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#3 lore raw
Quoted 9 lines · Grant Grundler
Quoted 2 lines · Peter Rabbitson

No takers? Can I provide more info/measurements/whatever? I would really like to get to the bottom of this, pretty frustrating.

Are you ok with wild guesses?
This sounds remarkable similar to the performance of the equivalent PCIe SATA controller from Silicon Image (3132). The 3132 has 1 PCI-E lane and should able to move more than 220 MB/s or so. But in fact can only read 120MB/s and write 170MB/s.

Interesting...

Quoted 3 lines

I would either try a different SATA controller in the same slot of the same host machine OR try the same SATA controller in a different host machine just to rule out issues with the system chipset.

Hm... since this is a PCI-X I can't really try it anywhere else... but then I can just stick it into a 32bit PCI slot, and see what happens then (as it should give me at least equal-to-read speed).

Quoted 5 lines

One other wild guess would be some environmental problem with the disk drives. If they are hot or being vibrated (e.g. enclosure fan), write performance will suffer more than read performance. Since these are 500G "Nearline" drives, I expect them to do better under "adverse" conditions than predecessor "Desktop" (model number ends with "AS").

A hard drive problem (environmental or otherwise) would not explain the performance difference when doing IO on a single drive vs doing it on several at the same time. It got to be something bus congestion related.

Thank you for your input!

Quoted 193 lines
Quoted 184 lines
Quoted 175 lines · Peter Rabbitson

Hello,

I have a sil 3124 PCI-X SATA card with 4 drives attached to it. When I read simultaneously from all 4 drives, I get the expected ~220MB/s combined read speed, limited by the presence of a 32bit card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 bit cards). When I write to the drives however I only get half of that ~106MB/s combined. Can someone shed some light?

All measurements are made on an idle system in single-user mode

Combined read:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done
[1] 30243
[2] 30244
[3] 30245
[4] 30246
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s

Combined write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done
[1] 30239
[2] 30240
[3] 30241
[4] 30242
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s

Individual read (making sure disks are good):

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s
root@Arzamas:~/tr#

Individual write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15325 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36731 s, 97.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24908 s, 99.9 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.36189 s, 97.8 MB/s
root@Arzamas:~/tr#

Card:
02:03.0 Mass storage controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)
Subsystem: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr+ Stepping+ SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 25
Region 0: Memory at fc5fd800 (64-bit, non-prefetchable) [size=128]
Region 2: Memory at fc5f0000 (64-bit, non-prefetchable) [size=32K]
Region 4: I/O ports at bc00 [size=16]
Expansion ROM at fc480000 [disabled] [size=512K]
Capabilities: [64] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [40] PCI-X non-bridge device
Command: DPERE- ERO+ RBC=512 OST=12
Status: Dev=ff:1f.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=12 DMCRS=128 RSCEM- 266MHz- 533MHz-
Capabilities: [54] MSI: Mask- 64bit+ Count=1/1 Enable-
Address: 0000000000000000 Data: 0000
Kernel driver in use: sata_sil24

Disks (excerpt from kernel bootup):
sata_sil24 0000:02:03.0: version 1.1
sata_sil24 0000:02:03.0: PCI INT A -> GSI 25 (level, low) -> IRQ 25
scsi3 : sata_sil24
scsi4 : sata_sil24
scsi5 : sata_sil24
scsi6 : sata_sil24
ata3: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f0000 irq 25
ata4: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f2000 irq 25
ata5: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f4000 irq 25
ata6: SATA max UDMA/100 host m128@0xfc5fd800 port 0xfc5f6000 irq 25
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata3.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata3.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata3.00: configured for UDMA/100
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata4.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata4.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata4.00: configured for UDMA/100
ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata5.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata5.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata5.00: configured for UDMA/100
ata6: SATA link up 1.5 Gbps (SStatus 113 SControl 0)
ata6.00: ATA-8: ST3500320NS, SN05, max UDMA/133
ata6.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
ata6.00: configured for UDMA/100
scsi 3:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 3:0:0:0: [sdb] 976773168 512-byte hardware sectors (500108 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1 sdb2 sdb3
sd 3:0:0:0: [sdb] Attached SCSI disk
scsi 4:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 4:0:0:0: [sdc] 976773168 512-byte hardware sectors (500108 MB)
sd 4:0:0:0: [sdc] Write Protect is off
sd 4:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdc: sdc1 sdc2 sdc3
sd 4:0:0:0: [sdc] Attached SCSI disk
scsi 5:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 5:0:0:0: [sdd] 976773168 512-byte hardware sectors (500108 MB)
sd 5:0:0:0: [sdd] Write Protect is off
sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdd: sdd1 sdd2 sdd3
sd 5:0:0:0: [sdd] Attached SCSI disk
scsi 6:0:0:0: Direct-Access ATA ST3500320NS SN05 PQ: 0 ANSI: 5
sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off
sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 6:0:0:0: [sde] 976773168 512-byte hardware sectors (500108 MB)
sd 6:0:0:0: [sde] Write Protect is off

Quoted 8 lines

sd 6:0:0:0: [sde] Mode Sense: 00 3a 00 00
sd 6:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sde: sde1 sde2 sde3
sd 6:0:0:0: [sde] Attached SCSI disk
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Quoted 5 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw
In reply to Grant Grundler
Quoted 9 lines · Grant Grundler
Quoted 2 lines · Peter Rabbitson

No takers? Can I provide more info/measurements/whatever? I would really like to get to the bottom of this, pretty frustrating.

Are you ok with wild guesses?
This sounds remarkable similar to the performance of the equivalent PCIe SATA controller from Silicon Image (3132). The 3132 has 1 PCI-E lane and should able to move more than 220 MB/s or so. But in fact can only read 120MB/s and write 170MB/s.

The hardware is limited:
http://ata.wiki.kernel.org/index.php/Hardware,_driver_status#Silicon_Image_3124
http://www.mail-archive.com/[email protected]/msg10143.html
http://markmail.org/message/dkwn2imwkjg7aeyl

Signature · 1 line
James Andrewartha
#5 lore raw
In reply to Peter Rabbitson
Quoted 75 lines · Peter Rabbitson

No takers? Can I provide more info/measurements/whatever? I would really like to get to the bottom of this, pretty frustrating.

Quoted 71 lines · Peter Rabbitson

Hello,

I have a sil 3124 PCI-X SATA card with 4 drives attached to it. When I read simultaneously from all 4 drives, I get the expected ~220MB/s combined read speed, limited by the presence of a 32bit card on the same bus (entire bus runs on 66mhz, mix of 64 and 32 bit cards). When I write to the drives however I only get half of that ~106MB/s combined. Can someone shed some light?

All measurements are made on an idle system in single-user mode

Combined read:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M & done
[1] 30243
[2] 30244
[3] 30245
[4] 30246
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.23146 s, 56.8 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.3649 s, 56.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.59152 s, 54.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 9.60045 s, 54.6 MB/s

Combined write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M & done
[1] 30239
[2] 30240
[3] 30241
[4] 30242
root@Arzamas:~/tr# 500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.4508 s, 27.0 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.6314 s, 26.7 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7663 s, 26.5 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 19.7598 s, 26.5 MB/s

Individual read (making sure disks are good):

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd if="/dev/${d}2" of=/dev/null count=500 bs=1M ; done
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.00963 s, 105 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.15979 s, 102 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.19258 s, 101 MB/s
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 5.24153 s, 100 MB/s
root@Arzamas:~/tr#

Individual write:

root@Arzamas:~/tr# for d in sde sdb sdc sdd ; do dd of="/dev/${d}2" if=/dev/zero count=500 bs=1M ; done

<snip>

Did you verify /dev/zero is not the problem.

It has been known to have throughput bugs that limit its ability to generate zeros. Strange I know.

I always do a quick dd if=/dev/zero of=/dev/null bs=1m count=10000

type test to make sure I have good functionality in /dev/zero and /dev/null. (Never heard of an issue with /dev/null, but I have to send those zeros somewhere.)

Greg

Signature · 9 lines
Greg Freemyer
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com