linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* crypto/xor.c and lib/raid6 to improve raid5/6 performance?
@ 2013-10-11 20:20 xxiao
  2013-10-16  6:28 ` NeilBrown
  0 siblings, 1 reply; 2+ messages in thread
From: xxiao @ 2013-10-11 20:20 UTC (permalink / raw)
  To: linux-raid

I'm looking for ways to speed up RAID calculations(e.g XOR for RAID5) plus
offloading them from CPU as much as possible. During kernel boot up I
noticed two outputs:

crypto/xor.c:
xor: measuring software checksum speed
   8regs     :  3379.000 MB/sec
   8regs_prefetch:  2969.000 MB/sec
   32regs    :  3398.000 MB/sec
   32regs_prefetch:  3054.000 MB/sec
xor: using function: 32regs (3398.000 MB/sec)

lib/raid6:
raid6: altivecx1  1470 MB/s
raid6: altivecx2  1820 MB/s
raid6: altivecx4  2756 MB/s
raid6: altivecx8  2874 MB/s
raid6: int64x1    480 MB/s
raid6: int64x2    832 MB/s
raid6: int64x4   1221 MB/s
raid6: int64x8   1160 MB/s
raid6: using algorithm altivecx8 (2874 MB/s)
raid6: using intx1 recovery algorithm

However I'm unclear how the md drivers(especially RAID5, and/or RAID6) can
benefit from these code, can I use them to accelerate RAID5/6's XOR with
these code somehow?

Thanks a lot,
Xiao

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: crypto/xor.c and lib/raid6 to improve raid5/6 performance?
  2013-10-11 20:20 crypto/xor.c and lib/raid6 to improve raid5/6 performance? xxiao
@ 2013-10-16  6:28 ` NeilBrown
  0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2013-10-16  6:28 UTC (permalink / raw)
  To: xxiao; +Cc: linux-raid

[-- Attachment #1: Type: text/plain, Size: 1409 bytes --]

On Fri, 11 Oct 2013 15:20:32 -0500 xxiao <xiaoxianghua@gmail.com> wrote:

> I'm looking for ways to speed up RAID calculations(e.g XOR for RAID5) plus
> offloading them from CPU as much as possible. During kernel boot up I
> noticed two outputs:
> 
> crypto/xor.c:
> xor: measuring software checksum speed
>    8regs     :  3379.000 MB/sec
>    8regs_prefetch:  2969.000 MB/sec
>    32regs    :  3398.000 MB/sec
>    32regs_prefetch:  3054.000 MB/sec
> xor: using function: 32regs (3398.000 MB/sec)
> 
> lib/raid6:
> raid6: altivecx1  1470 MB/s
> raid6: altivecx2  1820 MB/s
> raid6: altivecx4  2756 MB/s
> raid6: altivecx8  2874 MB/s
> raid6: int64x1    480 MB/s
> raid6: int64x2    832 MB/s
> raid6: int64x4   1221 MB/s
> raid6: int64x8   1160 MB/s
> raid6: using algorithm altivecx8 (2874 MB/s)
> raid6: using intx1 recovery algorithm
> 
> However I'm unclear how the md drivers(especially RAID5, and/or RAID6) can
> benefit from these code, can I use them to accelerate RAID5/6's XOR with
> these code somehow?
> 

RAID5 and RAID6 already use exactly this code to perform xor and RAID6
calculations.

If a platform has some sort of co-processor which can do these calculations,
md can certainly use that too.
Some of the relevant code is in "linux/crypto/async_tx"
Other code is elsewhere in the tree. looks for "adma" for "advanced
DMA" in file names.

NeilBrown

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-10-16  6:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-11 20:20 crypto/xor.c and lib/raid6 to improve raid5/6 performance? xxiao
2013-10-16  6:28 ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).