misc lib/raid/ improvements v2

From: Christoph Hellwig

Date: Wed Jul 15 2026 - 10:48:48 EST


Hi all,

this series improves the benchmark-based algorithm selection and
adds kunit benchmarks for both the XOR and raid6 libraries, and tidies
up a few very minor other bits.

Note that Sashiko still complains about long preempt_disable regions.
While that is right in general, it is very much intentional for these
kunit boot / module load time benchmarks.

Changes since v1:
- fix the deferred implementation backing
- remove pointless variable shadowing
- fix up a commit message
- don't add a duplicate RAID6_PQ symbol
- fix the calculated RAID6 "XOR" bandwidth
- floor all timing delta to 1 to avoid entire hypothetical
divide by zero errors

diffstat:
Kconfig | 12 +++++
raid6/Makefile | 2
raid6/algos.c | 102 +++++++++++++++++++++++++---------------------
raid6/tests/raid6_kunit.c | 66 +++++++++++++++++++++++++++++
xor/Makefile | 2
xor/tests/Makefile | 2
xor/tests/xor_kunit.c | 64 ++++++++++++++++++++++++++++
xor/xor-core.c | 55 +++++++++++-------------
8 files changed, 228 insertions(+), 77 deletions(-)