[FFmpeg-devel] [PATCH] swscale: Disable avx2 hscale 8to15 on IceLake and below due to Intel Gather Data Sampling mitigation performance loss
Alan Kelly
alankelly at google.com
Thu Aug 21 14:57:09 EEST 2025
On Fri, Aug 8, 2025 at 2:23 PM Alan Kelly <alankelly at google.com> wrote:
>
>
> On Fri, Aug 8, 2025 at 2:21 PM Alan Kelly <alankelly at google.com> wrote:
>
>> Intel provided a microcode update to mitigate this security
>> vulnerability which has a huge negative performance impact on gather
>> instructions. This means that hscale 8to15 avx2, which uses gather
>> extensively, is no longer faster than SSSE3 on impacted CPUs.
>> ---
>> libavutil/x86/cpu.c | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c
>> index d6cd4fab9c..923c63e0c4 100644
>> --- a/libavutil/x86/cpu.c
>> +++ b/libavutil/x86/cpu.c
>> @@ -244,9 +244,11 @@ int ff_get_cpu_flags_x86(void)
>> family == 6 && model < 23)
>> rval |= AV_CPU_FLAG_SSSE3SLOW;
>>
>> - /* Haswell has slow gather */
>> - if ((rval & AV_CPU_FLAG_AVX2) && family == 6 && model < 70)
>> + /* Ice Lake and below have slow gather due to Gather Data
>> Sampling
>> + * mitigation. */
>> + if ((rval & AV_CPU_FLAG_AVX2) && family == 6 && model < 143) {
>> rval |= AV_CPU_FLAG_SLOW_GATHER;
>> + }
>> }
>>
>> #endif /* cpuid */
>> --
>> 2.50.1.703.g449372360f-goog
>>
>
>
> https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/gather-data-sampling.html
>
>
>
> Broadwell:
> hscale_8_to_15__fs_4_dstW_512_c: 3379.5 ( 1.00x)
> hscale_8_to_15__fs_4_dstW_512_sse2: 615.7 ( 5.49x)
> hscale_8_to_15__fs_4_dstW_512_ssse3: 613.4 ( 5.51x)
> hscale_8_to_15__fs_4_dstW_512_avx2: 495.7 ( 6.82x)
>
> Skylake:
> hscale_8_to_15__fs_4_dstW_512_c: 3411.4 ( 1.00x)
> hscale_8_to_15__fs_4_dstW_512_sse2: 591.0 ( 5.77x)
> hscale_8_to_15__fs_4_dstW_512_ssse3: 591.5 ( 5.77x)
> hscale_8_to_15__fs_4_dstW_512_avx2: 1386.2 ( 2.46x)
>
> Cascade Lake:
> hscale_8_to_15__fs_4_dstW_512_c: 3231.3 ( 1.00x)
> hscale_8_to_15__fs_4_dstW_512_sse2: 517.9 ( 6.24x)
> hscale_8_to_15__fs_4_dstW_512_ssse3: 521.6 ( 6.19x)
> hscale_8_to_15__fs_4_dstW_512_avx2: 1775.0 ( 1.82x)
>
> Sapphire Rapids:
> hscale_8_to_15__fs_4_dstW_512_c: 1840.0 ( 1.00x)
> hscale_8_to_15__fs_4_dstW_512_sse2: 287.9 ( 6.39x)
> hscale_8_to_15__fs_4_dstW_512_ssse3: 293.8 ( 6.26x)
> hscale_8_to_15__fs_4_dstW_512_avx2: 219.2 ( 8.40x)
>
>
>
Hi,
Are there any objections to the patch? The performance impact is huge, so
it should be patched quickly.
Thanks,
Alan
More information about the ffmpeg-devel
mailing list