lib/raid6: add option to skip algo benchmarking 99/222799/2
authorDaniel Verkamp <dverkamp@chromium.org>
Mon, 12 Nov 2018 23:26:52 +0000 (15:26 -0800)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Mon, 20 Jan 2020 07:48:13 +0000 (16:48 +0900)
commit1307ca29e127fffb24984456bc1e407888fc3d66
tree82eab9c73c55268c1d40be9fbde6a2c7c2e16cae
parentb39d05ef772bbca70a3345e3cf77f704a6b21020
lib/raid6: add option to skip algo benchmarking

This is helpful for systems where fast startup time is important.
It is especially nice to avoid benchmarking RAID functions that are
never used (for example, BTRFS selects RAID6_PQ even if the parity RAID
mode is not in use).

This saves 250+ milliseconds of boot time on modern x86 and ARM systems
with a dozen or more available implementations.

The new option is defaulted to 'y' to match the previous behavior of
always benchmarking on init.

Signed-off-by: Daniel Verkamp <dverkamp@chromium.org>
Signed-off-by: Shaohua Li <shli@fb.com>
[jhoon20.kim: backport from mainline for the fast kernel startup]

Change-Id: I38c270c413d60de65f27cf9c95d44bb2e2d07ac2
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
include/linux/raid/pq.h
lib/Kconfig
lib/raid6/algos.c