<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>e3babebfb83865ec2be90e64d3f73f9aca140b3a - lib/crc: arm: Enable arm64&apos;s NEON intrinsics implementation of crc64</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#e3babebfb83865ec2be90e64d3f73f9aca140b3a</link>
        <description>lib/crc: arm: Enable arm64&apos;s NEON intrinsics implementation of crc64Tweak the NEON intrinsics crc64 code written for arm64 so it can bebuilt for 32-bit ARM as well. The only workaround needed is to providealternatives for vmull_p64() and vmull_high_p64() on Clang, which onlydefines those when building for the AArch64 or arm64ec ISA. Use the samehelpers for GCC too, to avoid doubling the size of the test/validationmatrix.KUnit benchmark results (Cortex-A53 @ 1 Ghz)Before:   # crc64_nvme_benchmark: len=1: 35 MB/s   # crc64_nvme_benchmark: len=16: 78 MB/s   # crc64_nvme_benchmark: len=64: 87 MB/s   # crc64_nvme_benchmark: len=127: 88 MB/s   # crc64_nvme_benchmark: len=128: 88 MB/s   # crc64_nvme_benchmark: len=200: 89 MB/s   # crc64_nvme_benchmark: len=256: 89 MB/s   # crc64_nvme_benchmark: len=511: 89 MB/s   # crc64_nvme_benchmark: len=512: 89 MB/s   # crc64_nvme_benchmark: len=1024: 90 MB/s   # crc64_nvme_benchmark: len=3173: 90 MB/s   # crc64_nvme_benchmark: len=4096: 90 MB/s   # crc64_nvme_benchmark: len=16384: 90 MB/sAfter:   # crc64_nvme_benchmark: len=1: 32 MB/s   # crc64_nvme_benchmark: len=16: 76 MB/s   # crc64_nvme_benchmark: len=64: 71 MB/s   # crc64_nvme_benchmark: len=127: 88 MB/s   # crc64_nvme_benchmark: len=128: 618 MB/s   # crc64_nvme_benchmark: len=200: 542 MB/s   # crc64_nvme_benchmark: len=256: 920 MB/s   # crc64_nvme_benchmark: len=511: 836 MB/s   # crc64_nvme_benchmark: len=512: 1261 MB/s   # crc64_nvme_benchmark: len=1024: 1531 MB/s   # crc64_nvme_benchmark: len=3173: 1731 MB/s   # crc64_nvme_benchmark: len=4096: 1851 MB/s   # crc64_nvme_benchmark: len=16384: 1858 MB/sDon&apos;t bother with big-endian, as it doesn&apos;t work correctly on Clang, andis barely used these days.Note that ARM disables preemption and softirq processing when usingkernel mode SIMD, so take care not to hog the CPU for too long.Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Link: https://patch.msgid.link/20260422171655.3437334-15-ardb+git@google.comSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Wed, 22 Apr 2026 19:17:01 +0200</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ardb@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ff57d59200baadfdb41f94a49fed7d161a9a8124 - Merge tag &apos;loongarch-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#ff57d59200baadfdb41f94a49fed7d161a9a8124</link>
        <description>Merge tag &apos;loongarch-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongsonPull LoongArch updates from Huacai Chen: - Adjust build infrastructure for 32BIT/64BIT - Add HIGHMEM (PKMAP and FIX_KMAP) support - Show and handle CPU vulnerabilites correctly - Batch the icache maintenance for jump_label - Add more atomic instructions support for BPF JIT - Add more features (e.g. fsession) support for BPF trampoline - Some bug fixes and other small changes* tag &apos;loongarch-7.1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: (21 commits)  selftests/bpf: Enable CAN_USE_LOAD_ACQ_STORE_REL for LoongArch  LoongArch: BPF: Add fsession support for trampolines  LoongArch: BPF: Introduce emit_store_stack_imm64() helper  LoongArch: BPF: Support up to 12 function arguments for trampoline  LoongArch: BPF: Support small struct arguments for trampoline  LoongArch: BPF: Open code and remove invoke_bpf_mod_ret()  LoongArch: BPF: Support load-acquire and store-release instructions  LoongArch: BPF: Support 8 and 16 bit read-modify-write instructions  LoongArch: BPF: Add the default case in emit_atomic() and rename it  LoongArch: Define instruction formats for AM{SWAP/ADD}.{B/H} and DBAR  LoongArch: Batch the icache maintenance for jump_label  LoongArch: Add flush_icache_all()/local_flush_icache_all()  LoongArch: Add spectre boundry for syscall dispatch table  LoongArch: Show CPU vulnerabilites correctly  LoongArch: Make arch_irq_work_has_interrupt() true only if IPI HW exist  LoongArch: Use get_random_canary() for stack canary init  LoongArch: Improve the logging of disabling KASLR  LoongArch: Align FPU register state to 32 bytes  LoongArch: Handle CONFIG_32BIT in syscall_get_arch()  LoongArch: Add HIGHMEM (PKMAP and FIX_KMAP) support  ...

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Fri, 24 Apr 2026 18:54:45 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>3d9aba6618d115750729bba2d1f8af180bd7d3bd - LoongArch: Adjust build infrastructure for 32BIT/64BIT</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#3d9aba6618d115750729bba2d1f8af180bd7d3bd</link>
        <description>LoongArch: Adjust build infrastructure for 32BIT/64BITAdjust build infrastructure (Kconfig, Makefile and ld scripts) to letus enable both 32BIT/64BIT kernel build.Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Jiaxun Yang &lt;jiaxun.yang@flygoat.com&gt;Signed-off-by: Huacai Chen &lt;chenhuacai@loongson.cn&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Wed, 22 Apr 2026 09:44:26 +0200</pubDate>
        <dc:creator>Huacai Chen &lt;chenhuacai@loongson.cn&gt;</dc:creator>
    </item>
<item>
        <title>63432fd625372a0e79fb00a4009af204f4edc013 - lib/crc: arm64: add NEON accelerated CRC64-NVMe implementation</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#63432fd625372a0e79fb00a4009af204f4edc013</link>
        <description>lib/crc: arm64: add NEON accelerated CRC64-NVMe implementationImplement an optimized CRC64 (NVMe) algorithm for ARM64 using NEONPolynomial Multiply Long (PMULL) instructions. The generic shift-and-XORsoftware implementation is slow, which creates a bottleneck in NVMe andother storage subsystems.The acceleration is implemented using C intrinsics (&lt;arm_neon.h&gt;) ratherthan raw assembly for better readability and maintainability.Key highlights of this implementation:- Uses 4KB chunking inside scoped_ksimd() to avoid preemption latency  spikes on large buffers.- Pre-calculates and loads fold constants via vld1q_u64() to minimize  register spilling.- Benchmarks show the break-even point against the generic implementation  is around 128 bytes. The PMULL path is enabled only for len &gt;= 128.Performance results (kunit crc_benchmark on Cortex-A72):- Generic (len=4096): ~268 MB/s- PMULL (len=4096): ~1556 MB/s (nearly 6x improvement)Signed-off-by: Demian Shulhan &lt;demyansh@gmail.com&gt;Link: https://lore.kernel.org/r/20260329074338.1053550-1-demyansh@gmail.comSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sun, 29 Mar 2026 09:43:38 +0200</pubDate>
        <dc:creator>Demian Shulhan &lt;demyansh@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6e4d63e8993c681e1cec7d564b4e018e21e658d0 - lib/crc: arm64: Drop check for CONFIG_KERNEL_MODE_NEON</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#6e4d63e8993c681e1cec7d564b4e018e21e658d0</link>
        <description>lib/crc: arm64: Drop check for CONFIG_KERNEL_MODE_NEONCONFIG_KERNEL_MODE_NEON is always enabled on arm64, and it always hasbeen since its introduction in 2013.  Given that and the fact that theusefulness of kernel-mode NEON has only been increasing over time,checking for this option in arm64-specific code is unnecessary.  Removethis check from lib/crc/ to simplify the code and prevent any futurebugs where e.g. code gets disabled due to a typo in this logic.Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Link: https://lore.kernel.org/r/20260314175744.30620-1-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 14 Mar 2026 18:57:44 +0100</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>cdf22aeaad8430905c3aa3b3d0f2686c65395c22 - lib/crc: tests: Add CRC_ENABLE_ALL_FOR_KUNIT</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#cdf22aeaad8430905c3aa3b3d0f2686c65395c22</link>
        <description>lib/crc: tests: Add CRC_ENABLE_ALL_FOR_KUNITNow that crc_kunit uses the standard &quot;depends on&quot; pattern, enabling thefull set of CRC tests is a bit difficult, mainly due to CRC7 beingrarely used.  Add a kconfig option to make it easier.  It is visibleonly when KUNIT, so hopefully the extra prompt won&apos;t be too annoying.Link: https://lore.kernel.org/r/20260306033557.250499-3-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Fri, 06 Mar 2026 04:35:56 +0100</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>85c9f3a2b805eb96d899da7bcc38a16459aa3c16 - lib/crc: tests: Make crc_kunit test only the enabled CRC variants</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#85c9f3a2b805eb96d899da7bcc38a16459aa3c16</link>
        <description>lib/crc: tests: Make crc_kunit test only the enabled CRC variantsLike commit 4478e8eeb871 (&quot;lib/crypto: tests: Depend on library optionsrather than selecting them&quot;) did with the crypto library tests, makecrc_kunit depend on the code it tests rather than selecting it.  Thisfollows the standard convention for KUnit and fixes an issue whereenabling KUNIT_ALL_TESTS enabled non-test code.crc_kunit does differ from the crypto library tests in that itconsolidates the tests for multiple CRC variants, with 5 kconfigoptions, into one KUnit suite.  Since depending on *all* of thesekconfig options would greatly restrict the ability to enable crc_kunit,instead just depend on *any* of these options.  Update crc_kunitaccordingly to test only the reachable code.Alternatively we could split crc_kunit into 5 test suites.  But keepingit as one is simpler for now.Fixes: e47d9b1a76ed (&quot;lib/crc_kunit.c: add KUnit test suite for CRC library functions&quot;)Cc: stable@vger.kernel.orgLink: https://lore.kernel.org/r/20260306033557.250499-2-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Fri, 06 Mar 2026 04:35:55 +0100</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>61d01fb7afc212358b0213c489192fd04b2566e1 - lib/crc: Remove ARCH_HAS_* kconfig symbols</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#61d01fb7afc212358b0213c489192fd04b2566e1</link>
        <description>lib/crc: Remove ARCH_HAS_* kconfig symbolsThese symbols are no longer used, so remove them.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-13-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:54 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b10749d89f5405d7c0319b86ad92a47ccc5ce00c - lib/crc: x86: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#b10749d89f5405d7c0319b86ad92a47ccc5ce00c</link>
        <description>lib/crc: x86: Migrate optimized CRC code into lib/crc/Move the x86-optimized CRC code from arch/x86/lib/crc* into its newlocation in lib/crc/x86/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-12-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:53 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>9b2d720e8ac4b68043ef23820ff9210fa12ea50d - lib/crc: sparc: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#9b2d720e8ac4b68043ef23820ff9210fa12ea50d</link>
        <description>lib/crc: sparc: Migrate optimized CRC code into lib/crc/Move the sparc-optimized CRC code from arch/sparc/lib/crc* into its newlocation in lib/crc/sparc/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-11-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:52 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2374bf23864932eb32ff209aaf6b82b569d61b2a - lib/crc: s390: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#2374bf23864932eb32ff209aaf6b82b569d61b2a</link>
        <description>lib/crc: s390: Migrate optimized CRC code into lib/crc/Move the s390-optimized CRC code from arch/s390/lib/crc* into its newlocation in lib/crc/s390/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-10-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:51 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b5943815e63b859b5b66710e79c9561112c4d01b - lib/crc: riscv: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#b5943815e63b859b5b66710e79c9561112c4d01b</link>
        <description>lib/crc: riscv: Migrate optimized CRC code into lib/crc/Move the riscv-optimized CRC code from arch/riscv/lib/crc* into its newlocation in lib/crc/riscv/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-9-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:50 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>190c253d8696b7ba14424c484435ac2d4bcb9ebd - lib/crc: powerpc: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#190c253d8696b7ba14424c484435ac2d4bcb9ebd</link>
        <description>lib/crc: powerpc: Migrate optimized CRC code into lib/crc/Move the powerpc-optimized CRC code from arch/powerpc/lib/crc* into itsnew location in lib/crc/powerpc/, and wire it up in the new way.  Thisnew way of organizing the CRC code eliminates the need to artificiallysplit the code for each CRC variant into separate arch and genericmodules, enabling better inlining and dead code elimination.  For moredetails, see &quot;lib/crc: Prepare for arch-optimized code in subdirs oflib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-8-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:49 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>da4fd657730c9510b848ef7a9cc7247bbb6a44c9 - lib/crc: mips: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#da4fd657730c9510b848ef7a9cc7247bbb6a44c9</link>
        <description>lib/crc: mips: Migrate optimized CRC code into lib/crc/Move the mips-optimized CRC code from arch/mips/lib/crc* into its newlocation in lib/crc/mips/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-7-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:48 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b10d2d20d9786c14133c76cc6aee13e46664dabc - lib/crc: loongarch: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#b10d2d20d9786c14133c76cc6aee13e46664dabc</link>
        <description>lib/crc: loongarch: Migrate optimized CRC code into lib/crc/Move the loongarch-optimized CRC code from arch/loongarch/lib/crc* intoits new location in lib/crc/loongarch/, and wire it up in the new way.This new way of organizing the CRC code eliminates the need toartificially split the code for each CRC variant into separate arch andgeneric modules, enabling better inlining and dead code elimination.For more details, see &quot;lib/crc: Prepare for arch-optimized code insubdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-6-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:47 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2b7531b2a2037959ac81ff2c95e4557b30cfd253 - lib/crc: arm64: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#2b7531b2a2037959ac81ff2c95e4557b30cfd253</link>
        <description>lib/crc: arm64: Migrate optimized CRC code into lib/crc/Move the arm64-optimized CRC code from arch/arm64/lib/crc* into its newlocation in lib/crc/arm64/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-5-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:46 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>530b304f00f278b3aa31bdfccf09b3ffb457a607 - lib/crc: arm: Migrate optimized CRC code into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#530b304f00f278b3aa31bdfccf09b3ffb457a607</link>
        <description>lib/crc: arm: Migrate optimized CRC code into lib/crc/Move the arm-optimized CRC code from arch/arm/lib/crc* into its newlocation in lib/crc/arm/, and wire it up in the new way.  This new wayof organizing the CRC code eliminates the need to artificially split thecode for each CRC variant into separate arch and generic modules,enabling better inlining and dead code elimination.  For more details,see &quot;lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/&quot;.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-4-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:45 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0bcfca56406dc6342e30fafe41a2f34cdde029b4 - lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#0bcfca56406dc6342e30fafe41a2f34cdde029b4</link>
        <description>lib/crc: Prepare for arch-optimized code in subdirs of lib/crc/Rework how lib/crc/ supports arch-optimized code.  First, instead of thearch-optimized CRC code being in arch/$(SRCARCH)/lib/, it will now be inlib/crc/$(SRCARCH)/.  Second, the API functions (e.g. crc32c()),arch-optimized functions (e.g. crc32c_arch()), and generic functions(e.g. crc32c_base()) will now be part of a single module for each CRCtype, allowing better inlining and dead code elimination.  The secondchange is made possible by the first.As an example, consider CONFIG_CRC32=m on x86.  We&apos;ll now have justcrc32.ko instead of both crc32-x86.ko and crc32.ko.  The two moduleswere already coupled together and always both got loaded together viadirect symbol dependency, so the separation provided no benefit.Note: later I&apos;d like to apply the same design to lib/crypto/ too, whereoften the API functions are out-of-line so this will work even better.In those cases, for each algorithm we currently have 3 modules allcoupled together, e.g. libsha256.ko, libsha256-generic.ko, andsha256-x86.ko.  We should have just one, inline things properly, andrely on the compiler&apos;s dead code elimination to decide the inclusion ofthe generic code instead of manually setting it via kconfig.Having arch-specific code outside arch/ was somewhat controversial whenZinc proposed it back in 2018.  But I don&apos;t think the concerns arewarranted.  It&apos;s better from a technical perspective, as it enables theimprovements mentioned above.  This model is already successfully usedin other places in the kernel such as lib/raid6/.  The community of eacharchitecture still remains free to work on the code, even if it&apos;s not inarch/.  At the time there was also a desire to put the library code inthe same files as the old-school crypto API, but that was a mistake; nowthat the library is separate, that&apos;s no longer a constraint either.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-3-ebiggers@kernel.orgLink: https://lore.kernel.org/r/20250612054514.142728-1-ebiggers@kernel.orgLink: https://lore.kernel.org/r/20250621012221.4351-1-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:44 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>89a51591405e09a862b9ca1ccfa880986c495c3c - lib/crc: Move files into lib/crc/</title>
        <link>http://kernelsources.org:8080/source/history/linux/lib/crc/Kconfig#89a51591405e09a862b9ca1ccfa880986c495c3c</link>
        <description>lib/crc: Move files into lib/crc/Move all CRC files in lib/ into a subdirectory lib/crc/ to keep themfrom cluttering up the main lib/ directory.Reviewed-by: &quot;Martin K. Petersen&quot; &lt;martin.petersen@oracle.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Acked-by: &quot;Jason A. Donenfeld&quot; &lt;Jason@zx2c4.com&gt;Link: https://lore.kernel.org/r/20250607200454.73587-2-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@kernel.org&gt;

            List of files:
            /linux/lib/crc/Kconfig</description>
        <pubDate>Sat, 07 Jun 2025 22:04:43 +0200</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
