[dpdk-dev] [PATCH] net/i40e: disable AVX512 for Windows

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Wed Jan 20 19:21:24 CET 2021


On Wed, 20 Jan 2021 17:40:16 +0100, David Marchand wrote:
> There is probably better to do rather than disabling AVX512 globally for
> Windows but since I saw no patch fixing this, here it is.
>
> ---
>  drivers/net/i40e/meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
> index c0acdf4fd4..c9a1a50407 100644
> --- a/drivers/net/i40e/meson.build
> +++ b/drivers/net/i40e/meson.build
> @@ -54,7 +54,7 @@ if arch_subdir == 'x86'
>  		cc.has_argument('-mavx512f') and
>  		cc.has_argument('-mavx512bw'))
>  
> -	if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
> +	if not is_windows and (i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true)
>  		cflags += ['-DCC_AVX512_SUPPORT']
>  		avx512_args = [cflags, '-mavx512f', '-mavx512bw']
>  		if cc.has_argument('-march=skylake-avx512')

Clang doesn't seem to be affected, suggesting a cc.get_id() == 'gcc' check.

The error seems related to SEH (structured exception handling). Some MinGW
flavours don't use it, which can explain why the bug isn't not 100%
reproducible. IMO, just disabling AVX512 for MinGW is enough.

A nit, is there a reason to prefer "x == true" over "x"?


More information about the dev mailing list