On 4/28/2020 9:32 AM, Marvin Liu wrote:
> Optimize packed ring Rx path with SIMD instructions. Solution of
> optimization is pretty like vhost, is that split path into batch and
> single functions. Batch function is further optimized by AVX512
> instructions. Also pad desc extra structure to 16 bytes aligned, thus
> four elements will be saved in one batch.
> 
> Signed-off-by: Marvin Liu <yong....@intel.com>
> Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>

<...>

> @@ -9,6 +9,20 @@ sources += files('virtio_ethdev.c',
>  deps += ['kvargs', 'bus_pci']
>  
>  if arch_subdir == 'x86'
> +     if '-mno-avx512f' not in machine_args
> +             if cc.has_argument('-mavx512f') and 
> cc.has_argument('-mavx512vl') and cc.has_argument('-mavx512bw')
> +                     cflags += ['-mavx512f', '-mavx512bw', '-mavx512vl']
> +                     cflags += ['-DCC_AVX512_SUPPORT']
> +                     if (toolchain == 'gcc' and 
> cc.version().version_compare('>=8.3.0'))
> +                             cflags += '-DVHOST_GCC_UNROLL_PRAGMA'
> +                     elif (toolchain == 'clang' and 
> cc.version().version_compare('>=3.7.0'))
> +                             cflags += '-DVHOST_CLANG_UNROLL_PRAGMA'
> +                     elif (toolchain == 'icc' and 
> cc.version().version_compare('>=16.0.0'))
> +                             cflags += '-DVHOST_ICC_UNROLL_PRAGMA'
> +                     endif
> +                     sources += files('virtio_rxtx_packed_avx.c')
> +             endif
> +     endif

This is giving following error in Travis build [1], it is seems this usage is
supported since meson 0.49 [2] and Travis has 0.47 [3], also DPDK supports
version 0.47.1+ [4].

Can you please check for meson v0.47 version way of doing same thing?



[1]
drivers/net/virtio/meson.build:12:19: ERROR:  Expecting eol got not.
        if '-mno-avx512f' not in machine_args
                   ^

[2]
https://mesonbuild.com/Syntax.html#dictionaries
Since 0.49.0, you can check if a dictionary contains a key like this:
if 'foo' not in my_dict
# This condition is false
endif

[3]
The Meson build system
Version: 0.47.1

[4]
doc/guides/linux_gsg/sys_reqs.rst
*   Meson (version 0.47.1+) and ninja

Reply via email to