Re: poor sata performance on 2.6

Jeff Garzik
2004-04-16T01:04:11Z

Simon Koch wrote:
> Ryan Geoffrey Bourgeois wrote:
>> I do recomend Promise's SATA controller cards. The kernel drivers are
>> excellent
>> imho. As well as my onboard Promise TX2, I'm using a thei S150 SX4 RAID5

> What kernel/driver are you using for the S150 SX4? I couldn't ever get
> better than 13MB/sec from it in 2.6. Of course, the last I tried was
> 2.6.3. I could get 55MB/sec using 2.4 and Promise's partial source
> driver, but since my onboard SATA controller works fine in 2.6 I'm just
> using that meanwhile.

Re-read his message. He is using TX2, not SX4.

SX4 is vastly different. Each request must bounce through a DIMM, which
hurts performance. Further, only one DIMM copy to/from system memory
can be occuring at any one time, while you can be executing up to 4 ATA
commands (one for each SATA port) in parallel.

SX4 performance currently suffers because of this bounce through the
DIMM. Two transactions, and two interrupts, are required for each disk
transaction.

SX4 is really designed for RAID acceleration. One may to improve
performance (which I plan to implement) is using the DIMM as a
write-through cache.

Another way to improve performance on SX4 is to have a special RAID
driver which issues RAID1 or RAID5 reads and writes as a single
transaction, thus maximizing the potential of the DIMM and cutting in
_half_ the PCI bus bandwidth used for writes. SX4, like other Promise
products, can also offload RAID5 XOR calculations onto the hardware.

I _really_ like the SX4 -- it gives the programmer full control over all
aspects of RAID operation, while providing useful hardware acceleration
where it's needed. And not getting in the way of the programmer, when
it's not needed.

But currently, my libata driver does not use the advanced features, and
so there is a performance hit.

Jeff