• Ard Biesheuvel's avatar
    md/raid6: delta syndrome for ARM NEON · 0e833e69
    Ard Biesheuvel authored
    This implements XOR syndrome calculation using NEON intrinsics.
    As before, the module can be built for ARM and arm64 from the
    same source.
    
    Relative performance on a Cortex-A57 based system:
    
      raid6: int64x1  gen()   905 MB/s
      raid6: int64x1  xor()   881 MB/s
      raid6: int64x2  gen()  1343 MB/s
      raid6: int64x2  xor()  1286 MB/s
      raid6: int64x4  gen()  1896 MB/s
      raid6: int64x4  xor()  1321 MB/s
      raid6: int64x8  gen()  1773 MB/s
      raid6: int64x8  xor()  1165 MB/s
      raid6: neonx1   gen()  1834 MB/s
      raid6: neonx1   xor()  1278 MB/s
      raid6: neonx2   gen()  2528 MB/s
      raid6: neonx2   xor()  1942 MB/s
      raid6: neonx4   gen()  2888 MB/s
      raid6: neonx4   xor()  2334 MB/s
      raid6: neonx8   gen()  2957 MB/s
      raid6: neonx8   xor()  2232 MB/s
      raid6: using algorithm neonx8 gen() 2957 MB/s
      raid6: .... xor() 2232 MB/s, rmw enabled
    
    Cc: Markus Stockhausen <stockhausen@collogia.de>
    Cc: Neil Brown <neilb@suse.de>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    0e833e69
neon.uc 3.38 KB