[dpdk-dev] [PATCH v4 1/2] net/ixgbe: add SSE4.1 support to vPMD's minimum requirement
Richardson, Bruce
bruce.richardson at intel.com
Tue Jun 13 18:30:44 CEST 2017
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Qi Zhang
> Sent: Tuesday, June 13, 2017 9:58 AM
> To: Ananyev, Konstantin <konstantin.ananyev at intel.com>; Yigit, Ferruh
> <ferruh.yigit at intel.com>
> Cc: dev at dpdk.org; Lu, Wenzhuo <wenzhuo.lu at intel.com>; Zhang, Helin
> <helin.zhang at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>
> Subject: [dpdk-dev] [PATCH v4 1/2] net/ixgbe: add SSE4.1 support to vPMD's
> minimum requirement
>
> x86 vPMD will be disabled if currently platform does not support SSE4.1.
> This is the prework to enable vPMD ptype offload where SSE4.1
> instrunctions will be involved.
>
> Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
> ---
> drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> index a7bc199..fbbd872 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
> @@ -652,5 +652,9 @@ ixgbe_txq_vec_setup(struct ixgbe_tx_queue *txq) int
> __attribute__((cold)) ixgbe_rx_vec_dev_conf_condition_check(struct
> rte_eth_dev *dev) {
> + /* need SSE4.1 support */
> + if (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_SSE4_1))
> + return -1;
> +
> return ixgbe_rx_vec_dev_conf_condition_check_default(dev);
> }
Quite a few things for DPDK on x86 and x86_64 depend on SSE4.x now. I think we should just up the minimum supported x86 CPU architecture for DPDK to require SSE4.2 and be done with it. SSE4.2 has been around for almost a decade now (https://en.wikipedia.org/wiki/SSE4#SSE4.2), and so I would consider it unlikely that anyone wants to use DPDK on a machine which does not have that instruction set supported.
Doing so would mean we remove all conditional compilation settings for our x86 vector drivers to add -msse flags, and can replace these runtime checks in each driver with a single check in EAL init to ensure the CPU supports SSE4.2. Possibly other cleanup could be done as well.
Thoughts? any objections?
/Bruce
More information about the dev
mailing list