aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorRay Kinsella <mdr@ashroe.eu>2021-01-14 16:37:37 +0000
committerRadu Nicolau <radu.nicolau@intel.com>2021-03-04 14:19:47 +0000
commitded6dbdb29b7f93ae423ec547efa4bce11780df8 (patch)
tree2154d3986fd4796e5bed9c06b1e9afdc0660b86c /src/plugins
parent2e591554b87db858565e5f45176550dc8e8c06ce (diff)
dpdk: enable AVX-512 on ICL
Enable DPDK AVX-512 Vector PMDs on Intel Icelake Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com> Change-Id: Ie5d5bf54ccaa65c1d053d56a2f2973fe8625193b (cherry picked from commit 1cebf98e1cdc99e215d30dadd5570ba836b1a6d9)
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/dpdk/device/init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c
index 19898b186fe..33d5df6cae2 100644
--- a/src/plugins/dpdk/device/init.c
+++ b/src/plugins/dpdk/device/init.c
@@ -29,6 +29,7 @@
#include <vlib/vmbus/vmbus.h>
#include <rte_ring.h>
+#include <rte_vect.h>
#include <stdio.h>
#include <stdlib.h>
@@ -1527,6 +1528,10 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input)
ret = rte_eal_init (vec_len (conf->eal_init_args),
(char **) conf->eal_init_args);
+ /* enable the AVX-512 vPMDs in DPDK */
+ if (clib_cpu_supports_avx512_bitalg ())
+ rte_vect_set_max_simd_bitwidth (RTE_VECT_SIMD_512);
+
/* lazy umount hugepages */
umount2 ((char *) huge_dir_path, MNT_DETACH);
rmdir ((char *) huge_dir_path);