Hello Hugh,
On Tuesday, December 23, 2008 you wrote:
Right, sizeof(unsigned long long)==8 on our ppc44x target.
The main processor here is a PPC440SPe from AMCC, which is a 32-bit
RISC machine with 36-bit physical addressing.
The market segment for this are RAID applications. The Linux s/w RAID
driver had been significantly reworked over the last years, and now it
allows efficiently offload the RAID-related operations (as well as
the data copy) from CPU to the dedicated engines via ASYN_TX/ADMA
API. The 440SPe controller has a reach RAID-related peripheral
integrated on chip: XOR engine and two DMA engines with different
capabilities including XOR calculations/checks for RAID5/6, PQ
parities calculations/checks for RAID6, memory copy, and so on. All
these make 440SPe to be a good choice for developing RAID storage
applications.
By increasing the PAGE_SIZE we improve the performance of RAID
operations, because the RAID stripes (on which basic the Linux RAID
driver operates) have a PAGE_SIZE width: so, the bigger the strip is,
then the less CPU cycles are necessary to process the same chunk of
data. The value of improvement differs from case to case, and has the
maximum number in such cases like sequential writes.
For example, on the ppc440spe-base Katmai board we observe the
following performance distribution of sequential writes to RAID-5
built on 16 drives (actually, we can achieve higher performance if
skipping RAID caching of the data; the following figures are measured
involving the RAID caching):
4K PAGE_SIZE: s/w: 84 MBps; h/w accelerated: 172 MBps
16K PAGE_SIZE: s/w: 123 MBps; h/w accelerated: 361 MBps
64K PAGE_SIZE: s/w: 125 MBps; h/w accelerated: 409 MBps
256K PAGE_SIZE: s/w: 132 MBps; h/w accelerated: 473 MBps
Regards, Yuri
--
Yuri Tikhonov, Senior Software Engineer
Emcraft Systems, www.emcraft.com
--