Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] swscale: Disable avx2 hscale 8to15 on IceLake and below due to Intel Gather Data Sampling mitigation performance loss
@ 2025-08-08 12:20 Alan Kelly via ffmpeg-devel
  2025-08-08 12:23 ` Alan Kelly via ffmpeg-devel
  0 siblings, 1 reply; 2+ messages in thread
From: Alan Kelly via ffmpeg-devel @ 2025-08-08 12:20 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Alan Kelly

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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [FFmpeg-devel] [PATCH] swscale: Disable avx2 hscale 8to15 on IceLake and below due to Intel Gather Data Sampling mitigation performance loss
  2025-08-08 12:20 [FFmpeg-devel] [PATCH] swscale: Disable avx2 hscale 8to15 on IceLake and below due to Intel Gather Data Sampling mitigation performance loss Alan Kelly via ffmpeg-devel
@ 2025-08-08 12:23 ` Alan Kelly via ffmpeg-devel
  0 siblings, 0 replies; 2+ messages in thread
From: Alan Kelly via ffmpeg-devel @ 2025-08-08 12:23 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Alan Kelly

On Fri, Aug 8, 2025 at 2:21 PM Alan Kelly <alankelly@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)
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-08-08 12:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-08 12:20 [FFmpeg-devel] [PATCH] swscale: Disable avx2 hscale 8to15 on IceLake and below due to Intel Gather Data Sampling mitigation performance loss Alan Kelly via ffmpeg-devel
2025-08-08 12:23 ` Alan Kelly via ffmpeg-devel

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git