[dpdk-dev] [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS Rawdev Driver

Zhang, Tianfei tianfei.zhang at intel.com
Wed May 9 17:33:45 CEST 2018



> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Wednesday, May 9, 2018 10:47 PM
> To: Xu, Rosen <rosen.xu at intel.com>
> Cc: dev at dpdk.org; Zhang, Roy Fan <roy.fan.zhang at intel.com>; Doherty,
> Declan <declan.doherty at intel.com>; Richardson, Bruce
> <bruce.richardson at intel.com>; shreyansh.jain at nxp.com; Yigit, Ferruh
> <ferruh.yigit at intel.com>; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; Zhang, Tianfei <tianfei.zhang at intel.com>;
> Liu, Song <song.liu at intel.com>; Wu, Hao <hao.wu at intel.com>;
> gaetan.rivet at 6wind.com; Wu, Yanglong <yanglong.wu at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS Rawdev
> Driver
> 
> 09/05/2018 09:43, Xu, Rosen:
> > From: Rosen Xu <rosen.xu at intel.com>
> >
> > Add Intel FPGA BUS Rawdev Driver which is based on librte_rawdev
> > library.
> >
> > Signed-off-by: Rosen Xu <rosen.xu at intel.com>
> > Signed-off-by: Yanglong Wu <yanglong.wu at intel.com>
> > Signed-off-by: Tianfei Zhang <tianfei.zhang at intel.com>
> > Acked-by: Shreyansh Jain <shreyansh.jain at nxp.com>
> 
> I have a compilation error:
> 	drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c:10:15: error:
> 	instruction requires: AVX-512 ISA
> 
> because of vmovdqu64:
> 
> #if defined(RTE_ARCH_X86_64)
> static inline void copy512(const void *src, void *dst) {
>     asm volatile("vmovdqu64 (%0), %%zmm0;"
>              "vmovntdq %%zmm0, (%1);"
>              :
>              : "r"(src), "r"(dst));
> }
> #else
> static inline void copy512(const void *src, void *dst) {
>     UNUSED(src);
>     UNUSED(dst);
>     WARN_ON(1);
> }
> #endif
> 
> I suggest to fix it quickly without waiting a v11 with this:
> 
> static inline void copy512(const void *src, void *dst) { #ifdef
> CC_SUPPORT_AVX512F
>     asm volatile("vmovdqu64 (%0), %%zmm0;"
>              "vmovntdq %%zmm0, (%1);"
>              :
>              : "r"(src), "r"(dst));
> #else
>     UNUSED(src);
>     UNUSED(dst);
>     WARN_ON(1);
> #endif
> }
> 
> It does not make any runtime detection, but it's better than previously.
> 

Which linux distribution are you use? We can compile it on Ubuntu 16.04 and RHEL 7.4.
We will fix it on V11.



More information about the dev mailing list