From: sunliming@linux.dev
To: song@kernel.org, yukuai@fnnas.com, akpm@linux-foundation.org
Cc: linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org,
sunliming <sunliming@kylinos.cn>
Subject: [PATCH RESEND v3 0/3] lib/raid6: Optimize raid6_select_algo to ensure
Date: Fri, 20 Mar 2026 14:07:47 +0800 [thread overview]
Message-ID: <20260320060750.31334-1-sunliming@linux.dev> (raw)
From: sunliming <sunliming@kylinos.cn>
The selection of RAID6 PQ functions involves a dual-strategy approach:
prioritizing startup speed leads to quickly choosing a usable algorithm,
while prioritizing performance leads to selecting an optimal algorithm
via benchmarking. This choice is determined by the RAID6_PQ_BENCHMARK
configuration. This patch series achieves both fast startup and optimal
algorithm selection by initially choosing an algorithm quickly at startup,
then asynchronously determining the optimal algorithm through benchmarking.
Since all RAID6 PQ function algorithms are functionally equivalent despite
performance differences, this approach should be effective.
---
Changes in v3:
Remove the __init annotation from raid6_benchmark_work and benchmark_work_func,
as they are still referenced during initialization.
Changes in v2:
Select the highest-priority algorithm instead of the first one.
Add the cancel_work_sync function in the exit function to handle the
work queue cleanup.
---
sunliming (3):
ib/raid6: Divide the raid6 algorithm selection process into two parts
lib/raid6: Optimizing the raid6_select_algo time through asynchronous
processing
lib/raid6: Delete the RAID6_PQ_BENCHMARK config
include/linux/raid/pq.h | 3 --
lib/Kconfig | 8 ----
lib/raid6/algos.c | 88 ++++++++++++++++++++++++++++++-----------
3 files changed, 65 insertions(+), 34 deletions(-)
--
2.25.1
next reply other threads:[~2026-03-20 6:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 6:07 sunliming [this message]
2026-03-20 6:07 ` [PATCH RESEND v3 1/3] lib/raid6: Divide the raid6 algorithm selection process into two parts sunliming
2026-03-24 7:55 ` Christoph Hellwig
2026-03-20 6:07 ` [PATCH RESEND v3 2/3] lib/raid6: Optimizing the raid6_select_algo time through asynchronous processing sunliming
2026-03-20 11:24 ` Paul Menzel
2026-03-24 7:56 ` Christoph Hellwig
[not found] ` <51f57b049c46e9d22d69d2cb1589526814b9bf65@linux.dev>
2026-03-25 5:54 ` Christoph Hellwig
2026-03-20 6:07 ` [PATCH RESEND v3 3/3] lib/raid6: Delete the RAID6_PQ_BENCHMARK config sunliming
-- strict thread matches above, loose matches on Subject: below --
2026-03-20 6:00 [PATCH RESEND v3 0/3] lib/raid6: Optimize raid6_select_algo to ensure sunliming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260320060750.31334-1-sunliming@linux.dev \
--to=sunliming@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=song@kernel.org \
--cc=sunliming@kylinos.cn \
--cc=yukuai@fnnas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox