[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:
Blocks
blocks MDEV-19935 Create unified CRC-32 interface Closed
blocks MDEV-22749 Implement portable PCLMUL accelerated... Closed
Problem/Incident
causes MDEV-23585 checksum.c: only use clmul if available Closed
Relates
relates to MDEV-22669 InnoDB lacks CRC-32C acceleration on ... Closed
relates to MDEV-22887 compilation failure on xenial-ppc64le Closed

 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.

Generated at Thu Feb 08 09:16:18 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.