[dpdk-dev] [PATCH] net/virtio: fix AVX512 datapath selection
Maxime Coquelin
maxime.coquelin at redhat.com
Mon May 11 16:47:20 CEST 2020
The AVX512 packed ring datapath selection was only done
at build time, but it should also be checked at runtime
that the CPU supports it.
This patch add a CPU flags check so that non-vectorized
path is selected at runtime if AVX512 is not supported.
Fixes: ccb10995c2ad ("net/virtio: add election for vectorized path")
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
drivers/net/virtio/virtio_ethdev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 312871cb48..49ccef12c7 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1965,8 +1965,10 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
PMD_DRV_LOG(INFO,
"building environment do not support packed ring vectorized");
#else
- hw->use_vec_rx = 1;
- hw->use_vec_tx = 1;
+ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F)) {
+ hw->use_vec_rx = 1;
+ hw->use_vec_tx = 1;
+ }
#endif
}
}
--
2.25.4
More information about the dev
mailing list