]> git.hungrycats.org Git - linux/commit
zygo: DO-NOT-UPSTREAM: lib/raid6: raid6_pq.algo= pins gen_syndrome 6.18/topics/raid6-fixes
authorZygo Blaxell <ce3g8jdj@umail.furryterror.org>
Thu, 17 Sep 2026 17:54:43 +0000 (13:54 -0400)
committerZygo Blaxell <ce3g8jdj@umail.furryterror.org>
Thu, 17 Sep 2026 17:54:43 +0000 (13:54 -0400)
commit1180a0ef5fb7af32f69ef0e7a5f37bee6bbc57e6
tree9d2045aa1a8edf91a09aac971963517c45ef94c6
parentc0b30dc798c29056cde427617d7e82f9311f52d1
zygo: DO-NOT-UPSTREAM: lib/raid6: raid6_pq.algo= pins gen_syndrome

Testing aid.  The subject is marked so it stands out in git log --oneline
and gets dropped from the series before it is submitted; it carries the
zygo: prefix the lane uses for local-only commits as well.

The boot-time benchmark decides which gen_syndrome runs, so a bug in one
variant (the x1 preload of dptr[z0-1], fatal with one data disk) shows
up only on the boots where that variant happens to win.  Let the test
rig pin it: raid6_pq.algo=avx2x1 selects that implementation without
benchmarking; an unknown or unusable name falls back to the benchmark.

It lives on this topic branch so that the pin the test rigs boot with
keeps working across rebases.  Kept here after 2026-09-17, when it
turned out that carrying it only as a per-candidate tip commit had
silently stopped working: the rebase onto v6.18.52 rebuilt the lane from
its topics, so the knob went away while both rigs' grub entries and every
build script kept passing raid6_pq.algo=avx2x1.  An unknown
<module>.<param>= is ignored without a word, so the variant was quietly
back to whatever the benchmark picked, and a raid6 pass would have
claimed a pin it was not applying.  The validation driver's preflight now
refuses to run when a tree carrying this knob boots with a pin that the
running kernel does not honour.

Assisted-by: Claude:claude-fable-5-1
lib/raid6/algos.c