c11f654042
For IA, the AVX2 vector path is only recommended to be used on later platforms (identified by AVX512 support, like SKL etc.) This is because performance benchmark shows downgrade when running AVX2 vector path on early platform (BDW/HSW) in some cases. But we still observe perf gain with some real work loading. So this patch introduced the new devarg use-latest-supported-vec to force the driver always selecting the latest supported vec path. Then apps are able to take AVX2 path on early platforms. And this logic can be re-used if we will have AVX512 vec path in future. This patch only affects IA platforms. The selected vec path would be like the following: Without devarg/devarg = 0: Machine vPMD AVX512F AVX2 AVX2 SSE4.2 SSE4.2 SSE4.2 <SSE4.2 Not Supported With devarg = 1 Machine vPMD AVX512F AVX2 AVX2 AVX2 SSE4.2 SSE4.2 <SSE4.2 Not Supported Other platforms can also apply the same logic if necessary in future. Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> |
||
---|---|---|
.. | ||
base | ||
i40e_ethdev_vf.c | ||
i40e_ethdev.c | ||
i40e_ethdev.h | ||
i40e_fdir.c | ||
i40e_flow.c | ||
i40e_logs.h | ||
i40e_pf.c | ||
i40e_pf.h | ||
i40e_regs.h | ||
i40e_rxtx_vec_altivec.c | ||
i40e_rxtx_vec_avx2.c | ||
i40e_rxtx_vec_common.h | ||
i40e_rxtx_vec_neon.c | ||
i40e_rxtx_vec_sse.c | ||
i40e_rxtx.c | ||
i40e_rxtx.h | ||
i40e_tm.c | ||
i40e_vf_representor.c | ||
Makefile | ||
meson.build | ||
rte_pmd_i40e_version.map | ||
rte_pmd_i40e.c | ||
rte_pmd_i40e.h |