On Fri, May 21, 2021 at 09:19:53AM +0100, Bruce Richardson wrote:
> On Fri, May 21, 2021 at 08:56:50AM +0100, Liang Ma wrote:
> > On Fri, May 21, 2021 at 09:04:06AM +0200, Thomas Monjalon wrote:
> > > 20/05/2021 23:22, Liang Ma:
> > > > Hi All,
> > > > I try to build DPDK with debug build-type but the building process
> > > > is
> > > > failed becuase of AVX512 code from librte-acl. The release build type
> > > > is fine. Hence, I dig a bit into the avx512 enabling logic of meson.
> > > >
> > > > I found the main logic is implemented inside
> > > > binutils-avx512-check.sh.
> > > >
> > > > It looks the script focus on checking the compatiblity of tools-chain
> > > > instead of CPUID. My problem is current script will produce avx512
> > > > code even I build dpdk on AMD platform. I understand the avx512 code
> > > > may not be used in runtime. I just wonder why we can not check the
> > > > cpuid as well ?
> > >
> > > The same binary can be run on multiple CPUs,
> > > so it makes no sense to check the compilation CPUID in generic
> > > compilation.
> > > For native build, why not.
> > >
> > > Anyway, your problem is at compilation, not runtime, right?
> > Yes, the problem is at compilation.
> > Given X86_64, gcc-6.30, Debug build always failed due
> > to librte_acl AVX512 code. I hope there is a graceful switch allow
> > developer disable avx512 in certain circumstance.
>
> Add ACL maintainer on CC. Sounds like there is a problem with the AVX512
> support detection for acl library. Looking at the meson build code, other
> drivers, such as i40e, do their avx512 detection differently from ACL.
there are 2 concerns here:
1. librte_acl specific issue cause the debug building failure with gcc 6.30.
2. More generic, if that's possible to have a graceful switch for avx512.(e.g.
build option)