RE: Improve CRC32C performance on SSE4.2

From: "Devulapalli, Raghuveer" <raghuveer(dot)devulapalli(at)intel(dot)com>
To: John Naylor <johncnaylorls(at)gmail(dot)com>
Cc: Nathan Bossart <nathandbossart(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Shankaran, Akash" <akash(dot)shankaran(at)intel(dot)com>
Subject: RE: Improve CRC32C performance on SSE4.2
Date: 2025-03-26 19:55:22
Message-ID: PH8PR11MB8286A559BF96E8A7068DB56FFBA62@PH8PR11MB8286.namprd11.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello John,

v15 LGTM. Couple of minor comments:

> I'm leaning towards a length limit for v15-0001 so that inlined instructions are
> likely to be unrolled. Aside from lack of commit message, I think that one is ready
> for commit soon-ish.

+1

> I'm feeling pretty good about 0002, but since there is still room for cosmetic
> fiddling, I want to let it sit for a bit longer.

(1) zmm_regs_available() in pg_crc32c_sse42_choose.c is a duplicate of pg_popcount_avx512.c but perhaps that’s fine for now. I will propose a consolidated SIMD runtime check in a follow up patch.
(2) Might be apt to rename pg_crc32c_sse42*.c to pg_crc32c_x86*.c since they contain both sse42 and avx512 versions.

> I felt the previous proposals for configure.ac were unnecessarily invasive, and the
> message looked out of place, so I made configure.ac more similar to master, using
> the AVX popcount stuff as a model.

Looks good to me.

Raghuveer

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2025-03-26 20:00:38 Re: Parallel heap vacuum
Previous Message Kirill Reshke 2025-03-26 19:48:54 Re: sync_standbys_defined read/write race on startup