[dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on i40e
Thomas Monjalon
thomas at monjalon.net
Thu Jan 28 22:24:48 CET 2021
28/01/2021 21:35, Dmitry Kozlyuk:
> On Tue, 26 Jan 2021 16:51:19 +0000, Ferruh Yigit wrote:
> > On 1/26/2021 4:48 PM, Thomas Monjalon wrote:
> > > 26/01/2021 17:39, Ferruh Yigit:
> > >> On 1/26/2021 4:22 PM, Thomas Monjalon wrote:
> > >>> 26/01/2021 17:17, Rong, Leyi:
> > >>>>>> On 1/20/2021 11:21 PM, Ferruh Yigit wrote:
> > >>>>>>
> > >>>>>> And for the mingw, I have same result with Ali, I can reproduce with (Fedora
> > >>>>> MinGW 9.2.1-6.fc32).
> > >>>>>>
> > >>>>>> But different from the CI, I am getting the error [1] for all following files:
> > >>>>>> rte_random.c
> > >>>>>> i40e_rxtx_vec_sse.c
> > >>>>>> i40e_rxtx_vec_avx512.c
> > >>>>>> i40e_rxtx_vec_avx2.c
> > >>>>>> rte_ethdev.c
> > >>> [...]
> > >>>> Send patch https://patchwork.dpdk.org/patch/87349/ to disable avx512 on windows as the workaround.
> > >>>> Pallavi also tested with this patch, and passed the mingw and clang build. Will try to see if has better way to fix.
> > >>>
> > >>> Ferruh mentioned errors with other files outside of i40e.
> > >>>
> > >>
> > >> The patch globally disables the avx512 for windows cross build, not just for
> > >> i40e, so I confirm it fixes the build errors in my environment.
> > >>
> > >> But disabling avx512 like this is not best option.
> > >
> > > Some may argue that AVX512 is not the best option ;)
> > >
> >
> > flame war mode activated.
>
> I found the following fix working:
>
> --- a/drivers/net/i40e/meson.build
> +++ b/drivers/net/i40e/meson.build
> @@ -60,6 +60,9 @@ if arch_subdir == 'x86'
> if cc.has_argument('-march=skylake-avx512')
> avx512_args += '-march=skylake-avx512'
> endif
> + if is_windows and cc.get_id() == 'gcc'
> + avx512_args += '-fno-asynchronous-unwind-tables'
> + endif
> i40e_avx512_lib = static_library('i40e_avx512_lib',
> 'i40e_rxtx_vec_avx512.c',
> dependencies: [static_rte_ethdev,
>
> It's admittedly from StackOverflow, but after reading about
> -fno-asynchronous-unwind-tables I see no harm disabling it, at least for just
> one file.
Thanks, it will require some tests and approvals.
For now, I take the patch proposing a simple disabling of AVX512 with MinGW.
More information about the dev
mailing list