[Linuxppc-users] Linux: raid6 benchmark: using intx1 recovery algorithm

Paul Menzel pmenzel at molgen.mpg.de
Sun Jan 30 07:22:37 AEDT 2022


Dear PPC folks,


Linux has a raid6 benchmark (`RAID6_PQ_BENCHMARK`). On the POWER8 IBM 
S822LC, Linux logs the results below:

```
[    0.000000] ebbd.molgen.mpg.de kernel: Linux version 5.17.0-rc1+ 
(pmenzel at ebbd.molgen.mpg.de) (Ubuntu clang version 13.0.0-2, LLD 13.0.0) 
#1 SMP Wed Jan 26 23:41:22 CET 2022
[…]
[    1.381350] ebbd.molgen.mpg.de kernel: raid6: vpermxor8 gen() 23033 MB/s
[    1.449444] ebbd.molgen.mpg.de kernel: raid6: vpermxor4 gen() 22962 MB/s
[    1.517487] ebbd.molgen.mpg.de kernel: raid6: vpermxor2 gen() 18005 MB/s
[    1.585619] ebbd.molgen.mpg.de kernel: raid6: vpermxor1 gen()  7037 MB/s
[    1.653770] ebbd.molgen.mpg.de kernel: raid6: altivecx8 gen()  6949 MB/s
[    1.721841] ebbd.molgen.mpg.de kernel: raid6: altivecx4 gen()  6457 MB/s
[    1.789965] ebbd.molgen.mpg.de kernel: raid6: altivecx2 gen()  6169 MB/s
[    1.858034] ebbd.molgen.mpg.de kernel: raid6: altivecx1 gen()  9304 MB/s
[    1.926064] ebbd.molgen.mpg.de kernel: raid6: int64x8  gen()  3826 MB/s
[    1.994126] ebbd.molgen.mpg.de kernel: raid6: int64x4  gen()  4962 MB/s
[    2.062232] ebbd.molgen.mpg.de kernel: raid6: int64x2  gen()  3972 MB/s
[    2.130224] ebbd.molgen.mpg.de kernel: raid6: int64x1  gen()  2906 MB/s
[    2.130343] ebbd.molgen.mpg.de kernel: raid6: using algorithm 
vpermxor8 gen() 23033 MB/s
[    2.130418] ebbd.molgen.mpg.de kernel: raid6: using intx1 recovery 
algorithm
```

For the recovery algorithm, it chooses intx1. Do you know why? It’s not 
the highest number from the results above. Also the string `intx1` does 
not appear in the benchmark lines, only `int64x1`.  Note, commit 
38640c4809 (lib/raid6: skip benchmark of non-chosen xor_syndrome 
functions) skips some xor() benchmarks.


Kind regards,

Paul


PS: Ubuntu’s 5.13.0-27-generic also intx1 is chosen as recovery 
algorithm. But the benchmark result is 28038 MB/s over Linux 5.17-rc1’s 
23033 MB/s, and the number 19828 MB/s shown in the result is not shown 
in the lines above. Very strange.

[    0.000000] flughafenberlinbrandenburgwillybrandt.molgen.mpg.de 
kernel: Linux version 5.13.0-27-generic (buildd at bos02-ppc64el-017) (gcc 
(Ubuntu 11.2.0-7ubuntu2) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.37) 
#29-Ubuntu SMP Wed Jan 12 17:36:50 UTC 2022 (Ubuntu 5.13.0-27.29-generic 
5.13.19)
[…]
[    2.439868] ebbd.molgen.mpg.de kernel: raid6: vpermxor8 gen() 28038 MB/s
[    2.487863] ebbd.molgen.mpg.de kernel: raid6: vpermxor4 gen() 27166 MB/s
[    2.535875] ebbd.molgen.mpg.de kernel: raid6: vpermxor2 gen() 21284 MB/s
[    2.583880] ebbd.molgen.mpg.de kernel: raid6: vpermxor1 gen() 14639 MB/s
[    2.631871] ebbd.molgen.mpg.de kernel: raid6: altivecx8 gen() 14839 MB/s
[    2.679874] ebbd.molgen.mpg.de kernel: raid6: altivecx4 gen() 17323 MB/s
[    2.727897] ebbd.molgen.mpg.de kernel: raid6: altivecx2 gen() 12112 MB/s
[    2.775889] ebbd.molgen.mpg.de kernel: raid6: altivecx1 gen() 11350 MB/s
[    2.823860] ebbd.molgen.mpg.de kernel: raid6: int64x8  gen()  4920 MB/s
[    2.871908] ebbd.molgen.mpg.de kernel: raid6: int64x8  xor()  2973 MB/s
[    2.919908] ebbd.molgen.mpg.de kernel: raid6: int64x4  gen()  5633 MB/s
[    2.967915] ebbd.molgen.mpg.de kernel: raid6: int64x4  xor()  3246 MB/s
[    3.015866] ebbd.molgen.mpg.de kernel: raid6: int64x2  gen()  4995 MB/s
[    3.063876] ebbd.molgen.mpg.de kernel: raid6: int64x2  xor()  2538 MB/s
[    3.111896] ebbd.molgen.mpg.de kernel: raid6: int64x1  gen()  3950 MB/s
[    3.159868] ebbd.molgen.mpg.de kernel: raid6: int64x1  xor()  1958 MB/s
[    3.159870] ebbd.molgen.mpg.de kernel: raid6: using algorithm 
vpermxor8 gen() 19828 MB/s
[    3.159871] ebbd.molgen.mpg.de kernel: raid6: using intx1 recovery 
algorithm


More information about the Linuxppc-users mailing list