On Sonntag, 2. Januar 2022 00:49:17 CET Song Liu wrote: > > For x86_64, this removes 8 out of 18 benchmark loops which each take > > 16 jiffies, so up to 160 jiffies saved on module load (640ms on a 250HZ > > kernel). > How critical is 160 (or 128?) jiffies saving here? For my usecase, this initialization codepath is just over 50% of the total runtime of my initrd, so it is significant. this is small initrd for virtual environments, using however the standard distribution kernel image (which has benchmarking enabled per Kconfig recommendation). > If it is critical for some use cases, maybe we can gate the change with a > CONFIG? I can't see how it is critical for usecases, because of * the outcome of the benchmarking is discarded * there is no configuration or commandline option to manually select a different xor variant if you as a linux user chose to select a different one based on manual review of the xor benchmarking results * benchmarking is recommended to be enabled by default. if you disable it, it will simply pick the first that works from the static list (which is basically ordered by hardware features reverse, or by most likely best performance). I'm happy to have that behind yet another config option if that makes the patch upstreamable, just let me know and I'll send a new variant. Greetings, Dirk