]> git.ipfire.org Git - thirdparty/linux.git/commit
lib/crc: x86: Reorganize crc-pclmul static_call initialization
authorEric Biggers <ebiggers@kernel.org>
Sat, 19 Jul 2025 22:49:37 +0000 (15:49 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 21 Jul 2025 03:52:28 +0000 (20:52 -0700)
commit110628e55a577468ef21f01e042e87c4257b2fd5
treea5b9d5289ce5f367c9f22cb8245ac1e433ae8dec
parent9b0236f4efb889869f7d4f3f084f508cc0433ec9
lib/crc: x86: Reorganize crc-pclmul static_call initialization

Reorganize the crc-pclmul static_call initialization to place more of
the logic in the *_mod_init_arch() functions instead of in the
INIT_CRC_PCLMUL macro.  This provides the flexibility to do more than a
single static_call update for each CPU feature check.  Right away,
optimize crc64_mod_init_arch() to check the CPU features just once
instead of twice, doing both the crc64_msb and crc64_lsb static_call
updates together.  A later commit will also use this to initialize an
additional static_key when crc32_lsb_vpclmul_avx512() is enabled.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250719224938.126512-2-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
lib/crc/x86/crc-pclmul-template.h
lib/crc/x86/crc-t10dif.h
lib/crc/x86/crc32.h
lib/crc/x86/crc64.h