Optimize Arm64 crc32c implementation in Postgresql

From: Yuqi Gu <Yuqi(dot)Gu(at)arm(dot)com>
To: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Optimize Arm64 crc32c implementation in Postgresql
Date: 2018-01-10 05:58:19
Message-ID: HE1PR0801MB1323D171938EABC04FFE7FA9E3110@HE1PR0801MB1323.eurprd08.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all

Currently PostgreSQL only implements hardware support for CRC32 checksums for the x86_64 architecture.
Some ARMv8 (AArch64) CPUs implement the CRC32 extension which is implemented by inline assembly,
so they can also benefit from hardware acceleration in IO-intensive workloads.

I would like to propose the patch to optimize crc32c calculation with Arm64 specific instructions.
The hardware-specific code implementation is used under #if defined USE_ARMCE_CRC32C_WITH_RUNTIME_CHECK.
And the performance is improved on platforms: cortex-A57, cortex-A72, cortex-A73, etc.

I'll create a CommitFests ticket for this submission.
Any comments or feedback are welcome.

BRs,
Yuqi
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

Attachment Content-Type Size
0001-Optimize-Arm64-crc32c-implementation-in-Postgresql.patch application/octet-stream 15.0 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-01-10 06:09:16 Re: Optimize Arm64 crc32c implementation in Postgresql
Previous Message Edmund Horner 2018-01-10 05:38:57 Re: [HACKERS] PATCH: psql tab completion for SELECT