Skip to content
Snippets Groups Projects
  • Ard Biesheuvel's avatar
    0e833e69
    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
    History
    md/raid6: delta syndrome for ARM NEON
    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>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.