> -----Original Message-----
> From: Ciara Power <[email protected]>
> Sent: Friday, August 7, 2020 11:59 PM
> To: [email protected]
> Cc: [email protected]; Ciara Power <[email protected]>;
> Ruifeng Wang <[email protected]>; [email protected]; Honnappa
> Nagarahalli <[email protected]>; David Christensen
> <[email protected]>
> Subject: [PATCH 20.11 02/12] eal: add default SIMD bitwidth values
>
> Each arch has a define for the default SIMD bitwidth value, this is used on
> EAL
> init to set the config max SIMD bitwidth.
>
> Cc: Ruifeng Wang <[email protected]>
> Cc: Jerin Jacob <[email protected]>
> Cc: Honnappa Nagarahalli <[email protected]>
> Cc: David Christensen <[email protected]>
>
> Signed-off-by: Ciara Power <[email protected]>
> ---
> lib/librte_eal/arm/include/rte_vect.h | 2 ++
> lib/librte_eal/common/eal_common_options.c | 3 +++
> lib/librte_eal/include/generic/rte_vect.h | 2 ++
> lib/librte_eal/ppc/include/rte_vect.h | 2 ++
> lib/librte_eal/x86/include/rte_vect.h | 2 ++
> 5 files changed, 11 insertions(+)
>
> diff --git a/lib/librte_eal/arm/include/rte_vect.h
> b/lib/librte_eal/arm/include/rte_vect.h
> index 01c51712a1..7487a53862 100644
> --- a/lib/librte_eal/arm/include/rte_vect.h
> +++ b/lib/librte_eal/arm/include/rte_vect.h
> @@ -14,6 +14,8 @@
> extern "C" {
> #endif
>
> +#define RTE_DEFAULT_SIMD_BITWIDTH 256
I think for arm platform we should set it to '128'. It is the bit width of NEON
registers.
> +
> typedef int32x4_t xmm_t;
>
> #define XMM_SIZE (sizeof(xmm_t))
> diff --git a/lib/librte_eal/common/eal_common_options.c
> b/lib/librte_eal/common/eal_common_options.c
> index 90f4e8f5c3..c2a9624f89 100644
> --- a/lib/librte_eal/common/eal_common_options.c
> +++ b/lib/librte_eal/common/eal_common_options.c
> @@ -35,6 +35,7 @@
> #ifndef RTE_EXEC_ENV_WINDOWS
> #include <rte_telemetry.h>
> #endif
> +#include <rte_vect.h>
>
> #include "eal_internal_cfg.h"
> #include "eal_options.h"
> @@ -344,6 +345,8 @@ eal_reset_internal_config(struct internal_config
> *internal_cfg)
> internal_cfg->user_mbuf_pool_ops_name = NULL;
> CPU_ZERO(&internal_cfg->ctrl_cpuset);
> internal_cfg->init_complete = 0;
> + internal_cfg->max_simd_bitwidth.bitwidth =
> RTE_DEFAULT_SIMD_BITWIDTH;
> + internal_cfg->max_simd_bitwidth.locked = 0;
> }
>
> static int
> diff --git a/lib/librte_eal/include/generic/rte_vect.h
> b/lib/librte_eal/include/generic/rte_vect.h
> index 3fc47979f8..e98f184a97 100644
> --- a/lib/librte_eal/include/generic/rte_vect.h
> +++ b/lib/librte_eal/include/generic/rte_vect.h
> @@ -14,6 +14,8 @@
>
> #include <stdint.h>
>
> +#define RTE_DEFAULT_SIMD_BITWIDTH 256
> +
> /* Unsigned vector types */
>
> /**
> diff --git a/lib/librte_eal/ppc/include/rte_vect.h
> b/lib/librte_eal/ppc/include/rte_vect.h
> index b0545c878c..70fbd0c423 100644
> --- a/lib/librte_eal/ppc/include/rte_vect.h
> +++ b/lib/librte_eal/ppc/include/rte_vect.h
> @@ -15,6 +15,8 @@
> extern "C" {
> #endif
>
> +#define RTE_DEFAULT_SIMD_BITWIDTH 256
> +
> typedef vector signed int xmm_t;
>
> #define XMM_SIZE (sizeof(xmm_t))
> diff --git a/lib/librte_eal/x86/include/rte_vect.h
> b/lib/librte_eal/x86/include/rte_vect.h
> index df5a607623..b1df75aca7 100644
> --- a/lib/librte_eal/x86/include/rte_vect.h
> +++ b/lib/librte_eal/x86/include/rte_vect.h
> @@ -35,6 +35,8 @@
> extern "C" {
> #endif
>
> +#define RTE_DEFAULT_SIMD_BITWIDTH 256
> +
> typedef __m128i xmm_t;
>
> #define XMM_SIZE (sizeof(xmm_t))
> --
> 2.17.1