On Fri, May 21, 2021 at 09:52:30AM +0000, Ananyev, Konstantin wrote:
>
>
> > 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.
>
> If you feel something is wrong in particular, please let me know.
>
> > there are 2 concerns here:
> > 1. librte_acl specific issue cause the debug building failure with gcc 6.30.
>
> gcc 6.3 is pretty rare these days, but I'll try to find one to reproduce the
> issue.
> Meanwhile can you follow the procedure - open a new ticket in bugzilla,
> and provide more info: command to reproduce, particular error output, etc.
Many thanks! I will log it in bugzilla.
>
> > 2. More generic, if that's possible to have a graceful switch for
> > avx512.(e.g. build option)
>
> I don't see much point in that.
> avx512 code-path wouldn't be used at run-time if your box doesn't support it.
sure, I understand the code path will not be touched at run-time. but
put it this way, what's the point to include this code in binary, if I
know the box not support it. It's nice to have a knob :-).