On Fri, May 21, 2021 at 10:07:07AM +0100, Bruce Richardson wrote:
> On Fri, May 21, 2021 at 09:55:37AM +0100, Liang Ma 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.
> > there are 2 concerns here: 
> > 1. librte_acl specific issue cause the debug building failure with gcc 6.30.
> +1. This needs to be investigated and fixed if it's causing problems.
> 
> > 2. More generic, if that's possible to have a graceful switch for 
> > avx512.(e.g. build option) 
> Not sure why this is wanted because any AVX512 paths won't be used at
> runtime unless suitable for use. In any case, this should be already doable
> by passing -mno-avx512 flag in CFLAGS/c_args at config time.
sure, that works, I use that method this moment. It's nice to have a
explicit way, because I use 30 mins  to figure out that way. ;-)  

Reply via email to