[MDEV-22641] Provide SIMD optimized wrapper for zlib crc32() Created: 2020-05-20 Updated: 2020-08-27 Resolved: 2020-06-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | mariabackup, Server |
| Fix Version/s: | 10.5.4 |
| Type: | Task | Priority: | Major |
| Reporter: | Krunal Bauskar | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | ARM, linux, powerpc | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Description |
|
Currently, MariaDB uses a hardware optimized version of the zlib crc32() function for x86 only in mariabackup (crc32_iso3309() is using the pclmul instruction). For POWER, it could be (but has not yet been) optimized by using the vpmsum instruction. We should make an optimized implementation available across all platforms (x86, ARMv8, POWER) and replace all direct calls to crc32_iso3309() or the the zilb function crc32() with calls to a new wrapper function my_crc32(), until the acceleration has been integrated in zlib. |
| Comments |
| Comment by Marko Mäkelä [ 2020-06-01 ] |
|
Because these changes depend on ARM acceleration of CRC-32C that was implemented earlier in 10.5, let us only target 10.5 for now. |