[MDEV-23495] Refine Arm64 PMULL runtime check in MariaDB Created: 2020-08-17  Updated: 2020-10-06  Resolved: 2020-08-21

Status: Closed
Project: MariaDB Server
Component/s: Server, Storage Engine - InnoDB
Affects Version/s: 10.5.5
Fix Version/s: 10.5.7

Type: Bug Priority: Major
Reporter: Anel Husakovic Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-23030 ARM crash on Raspberry Pi 4 Closed

 Description   

Raspberry Pi 4 supports crc32 but doesn't support pmull (MDEV-23030).

The PR #1645 offers a solution to fix this issue. But it does not consider
the condition that the target platform does support crc32 but not support PMULL.

In this condition, it should leverage the Arm64 crc32 instruction (__crc32c) and
just only skip parallel computation (pmull/vmull) rather than skip all hardware
crc32 instruction of computation.



 Comments   
Comment by Marko Mäkelä [ 2020-08-21 ]

CRC-32C will be computed for InnoDB data pages and redo log blocks on ARMv8 using the CRC32 instructions and optionally PMULL instructions. Previously, both instructions were mandatory for accelerated operation.

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