net/virtio: restore some optimisations with AVX512

Message ID 20220411150420.17796-1-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series net/virtio: restore some optimisations with AVX512 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

David Marchand April 11, 2022, 3:04 p.m. UTC
  Those optimisations were only enabled with make builds, fix the meson
part.

Fixes: 77d66da83834 ("net/virtio: add vectorized packed ring Rx")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/virtio/meson.build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Maxime Coquelin April 19, 2022, 9:12 a.m. UTC | #1
Hi Marvin,

On 4/11/22 17:04, David Marchand wrote:
> Those optimisations were only enabled with make builds, fix the meson
> part.
> 
> Fixes: 77d66da83834 ("net/virtio: add vectorized packed ring Rx")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>   drivers/net/virtio/meson.build | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
> index 01a333ada2..d78b8278c6 100644
> --- a/drivers/net/virtio/meson.build
> +++ b/drivers/net/virtio/meson.build
> @@ -30,11 +30,11 @@ if arch_subdir == 'x86'
>                             c_args: [cflags, '-mavx512f', '-mavx512bw', '-mavx512vl'])
>               objs += virtio_avx512_lib.extract_objects('virtio_rxtx_packed.c')
>               if (toolchain == 'gcc' and cc.version().version_compare('>=8.3.0'))
> -                cflags += '-DVHOST_GCC_UNROLL_PRAGMA'
> +                cflags += '-DVIRTIO_GCC_UNROLL_PRAGMA'
>               elif (toolchain == 'clang' and cc.version().version_compare('>=3.7.0'))
> -                cflags += '-DVHOST_CLANG_UNROLL_PRAGMA'
> +                cflags += '-DVIRTIO_CLANG_UNROLL_PRAGMA'
>               elif (toolchain == 'icc' and cc.version().version_compare('>=16.0.0'))
> -                cflags += '-DVHOST_ICC_UNROLL_PRAGMA'
> +                cflags += '-DVIRTIO_ICC_UNROLL_PRAGMA'
>               endif
>           endif
>       endif

I wonder how this was not spotted by the Intel performance lab?
Is that these optimizations do not bring performance gains, or it is not
benchmark-ed?

Anyway:

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  
Maxime Coquelin May 5, 2022, 7:56 p.m. UTC | #2
On 4/11/22 17:04, David Marchand wrote:
> Those optimisations were only enabled with make builds, fix the meson
> part.
> 
> Fixes: 77d66da83834 ("net/virtio: add vectorized packed ring Rx")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>   drivers/net/virtio/meson.build | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 

Applied to dpdk-next-virtio/main.

Thanks,
Maxime
  

Patch

diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 01a333ada2..d78b8278c6 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -30,11 +30,11 @@  if arch_subdir == 'x86'
                           c_args: [cflags, '-mavx512f', '-mavx512bw', '-mavx512vl'])
             objs += virtio_avx512_lib.extract_objects('virtio_rxtx_packed.c')
             if (toolchain == 'gcc' and cc.version().version_compare('>=8.3.0'))
-                cflags += '-DVHOST_GCC_UNROLL_PRAGMA'
+                cflags += '-DVIRTIO_GCC_UNROLL_PRAGMA'
             elif (toolchain == 'clang' and cc.version().version_compare('>=3.7.0'))
-                cflags += '-DVHOST_CLANG_UNROLL_PRAGMA'
+                cflags += '-DVIRTIO_CLANG_UNROLL_PRAGMA'
             elif (toolchain == 'icc' and cc.version().version_compare('>=16.0.0'))
-                cflags += '-DVHOST_ICC_UNROLL_PRAGMA'
+                cflags += '-DVIRTIO_ICC_UNROLL_PRAGMA'
             endif
         endif
     endif