[PATCH v2 0/3] lib/raid6: Optimize raid6_select_algo while ensuring
| Newsgroups | gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
From: sunliming <[email protected]> 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 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. instead of the first one. --- sunliming (3): lib/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 | 97 +++++++++++++++++++++++++++++------------ 3 files changed, 68 insertions(+), 40 deletions(-) -- 2.25.1