• Dirk Müller's avatar
    lib/raid6: Use strict priority ranking for pq gen() benchmarking · 36dacddb
    Dirk Müller authored
    On x86_64, currently 3 variants of AVX512, 3 variants of AVX2
    and 3 variants of SSE2 are benchmarked on initialization, taking
    between 144-153 jiffies. Testing across a hardware pool of
    various generations of intel cpus I could not find a single
    case where SSE2 won over AVX2 or AVX512. There are cases where
    AVX2 wins over AVX512 however.
    
    Change "prefer" into an integer priority field (similar to
    how recov selection works) to have more than one ranking level
    available, which is backwards compatible with existing behavior.
    
    Give AVX2/512 variants higher priority over SSE2 in order to skip
    SSE testing when AVX is available. in a AVX2/x86_64/HZ=250 case this
    saves in the order of 200ms of initialization time.
    Signed-off-by: default avatarDirk Müller <dmueller@suse.de>
    Acked-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
    Signed-off-by: default avatarSong Liu <song@kernel.org>
    36dacddb
avx2.c 16.9 KB